삼성 오픈소스 컨퍼런스, SOSCON 2016 - 참관 후기 (2)
1부에서 이어집니다: SOSCON 2016 1부
Sessions
HORN: A System for Parallel Training and Regularizing of Large-Scale Neural Networks
- 발표자: 윤진석 (삼성전자 / 책임연구원)
- Geek 그 자체
- 하지만 성공한 Geek. 아우라가 느껴짐
- 자료
- Apache Software Foundation
- ASF 간단한 소개
- httpd에서 출발했지만 아주 성공적. 이제는 프로젝트가 너무 많다. Top project만 해도 161개…
- ASF 재단 멤버 500명 중 한명. 자부심 느낌
HORN
- (자신이 만든) Apache Hama 프로젝트에서 fork
- DNN(Deep Neural Network) 시스템
- Java, 분산시스템
뉴런 중심의 network
인 것이 비슷한 종류 시스템과 구분되는 독특한 차별점이라고.Neuron-centric Model
- 장점: 학습에 있어서 매우 유연함(?)
- 단점: 뉴런 하나당 object를 할당해야 하므로 속도를 느릴 수 있다.
- Hama는 비슷한 동종의 경쟁자보다 매우 빠르다.
- 벤치마크 테스트 결과를 그래프로 몇 개 보여줌.
- 그럼에도 불구하고 대중적 인기는 적어서 죽어가고 있는중. 그래서 새로 fork한 것도 있다고.
- Distributed Training : 이 부분은 구글 논문을 기본으로 구축 (DistBelief 인듯)
- Parallel Dropout
- overfitting 방지하기 위한 훌륭한 기법
- randomness를 줘서 그 모델에만 특화된 녀석을 제거한다. 이 randomness 부여하는 것이 정말 강력한 방법이라고 재차 강조.
- 원래는 self-evolving 하는 뉴럴넷을 만들고 싶었다고.
- 작년에
HORN
프로젝트 처음 시작할 때 코드 없이 문서만 있었는데도 Apache Incubator 프로젝트로 등록됨- (내 생각) 이쪽 세계도 명성이 있으면 이런 일이 가능한가보다. 사람 사는 곳이 다…
- 작년 SOSCON 때도 발표했는데 그 때는 TensorFlow가 없어서
HORN
발표하면서 아주 의기양양했다고.- 지금은 좀 주눅들었다고 함. 그래도 텐서플로우와는 스타일이 다르다고 결론
- 발표자의 전망
- 시스템 설계 트렌드가
Decentralized Architecture
로 이동중- 개인적으로는 예전에 centralized 구조가 더 낫고 그런 시대가 되고 있다고 봤는데, 지금은 생각이 바뀌었다고 함.
- 중앙에서 데이터 모든 것을 처리하기에 어려워지는 시대가 되고 있다. 특히나 노이즈 제거같은 것까지 하려면 안 될것 같다고 설명
- 오픈소스에서도 이런 흐름이 확실히 보인다고 함
- (내 생각) 과거와는 달리 엄청나게 네트워크 속도와 컴퓨팅 파워가 증가하고 있음에도 불구하고, 데이터가 압도적으로 생성되는 시대라 중앙 서버에서 모두 처리할 수 없는 것으로 보인다. 결국 개별 클라이언트에서 많은 것을 감당해야 하는 시대로 가고 있는 듯하다.
- Big Data 관련 오픈소스들은 점점 죽어가고 있다.
- Hadoop, Spark 등을 보면 commit, 메일링 숫자 같은 지표만 봐도 그 위세가 줄어들고 있다고.
- 아마도 Cloud로 제공되는 서비스가 많아지기 때문 아닐까 짐작
- 빅데이터 처리에서도 새로운 패러다임이 올 것 같다
- 시스템 설계 트렌드가
- 감상
- 발표 스킬 따위는 실력 앞에서 아무것도 아니라는 것을 느낌. 정말 잘 하면 무슨 말을 해도 되겠구나.
- 자기 일을 즐기면서 하는 사람이라 그런가? 나이도 아주 젊어보인다. 비슷한 나인줄 알았는데 대략 10년 차이 나는듯
- ‘JonathanNet’ 낄낄낄
- 오픈소스에서 잔뼈가 굵은 분이라 이야기 하나하나에 통찰력이 느껴진다.
Linux Kernel (perf) 개발과정과 문화
- 발표자: 송태웅 (미래창조과학부 / KOSSLAB)
- 자료
- Linux Kernel 기여하기
- 오픈소스 커널 개발 과정(코드 커밋부터 반영에 집중) 간접 체험 시간
- 세상의 open sources는 Github에 다 있는 것은 아니다. (apache, linux kernel쪽은 따로 씀). 그래도 Github에 코드를 올려놓기는 한다. (미러링 수준)
- git.kernel.org 살펴보면
- 디렉토리 구조가 마치 별도 프로젝트가 있는 것 같아 보이지만 사실 branch 정도로 받아들이면 된다고
- kernel 소스를 받아보면
MAINTAINERS
파일이 있다. 먼저 그것을 잘 살펴봐야 한다. patch를 보내려면 그 사람들에게 보내야 하므로.
- 코드 커밋 & 코드리뷰 방법
- Github처럼 PR을 보내지 않는다. patch를 만들어 메일링으로 처리한다.
- git sendemail 설정이 필요함
- 이메일 보낼때 text로만 보내는 것이 좋다. 요즘 메일 클라이언트가 기본이 HTML format 지원되는 것이 많아서 일부러 꺼야 할때도 있다고
- commit log에 signed-off 기록이 필수
- 메일 제목에 patch 번호와 버전(여러개를 묶었다면 각각을 따로 표시)을 잘 보이게 하는 것이 중요하다고
- OpenHUB
- 오픈소스 프로젝트에 대한 상세정보와 contributor 등의 상세 정보를 볼 수 있어서 많이 활용한다고
- 리눅스 커널에 커밋 한 사람은 15만명이나 된다고 한다. 그 중에서 40 commit 이상(발표자)이면 상위 20%에 들어간다고
- 감상
- 커널 개발 같이 전통적이고 권위 있는 (아재들이 하는) 오픈소스 개발은 어떻게 되는지 알 수 있어서 유익했다.
- 비교적 구식으로 보이는 개발 및 커뮤니케이션 방법은 마치 종교 제의를 연상케한다.
- 방식의 고리타분함(?)과는 별개로 한번 기여를 해 보고 싶은 생각이 들었다. (특히 커널에!)
- 국가 차원에서 오픈소스 컨트리뷰터 육성(?)하는 조직이 있다는 것이 신기 (나쁘진 않은 것 같다.)
코딩 교육 및 기계학습 트레이닝의 분산 처리를 위한 Sorna 오픈소스 프레임웍
- 발표자: 신정규 (래블업 주식회사)
- 자료
- 발표자료
- Code On Web : 제공중인 서비스
- 감상
- 회사를 만든 취지가 재미있었다.
- 학계-산업계-기술 간의 간극을 메워보자는 취지로 출발
- 학자들은 곰이다. 재주는 넘지만 돈을 벌지는 못한다. 학자들도 돈을 벌 수 있게 만들어보자.
- AWS에서 시스템을 어떻게 구축했는지 설명이 30% 정도
- 아쉽지만 아이템을 처음에 잘못 잡은 것이 아닌가 싶기도
- 최근 취미로 만든 (AI)챗봇이 오히려 인기가 있어 이곳저곳에 강의를 다녔다고 함. 취미가 아니라 처음부터 그 쪽으로 갔어도 더 좋았을 것 같은데… 이 생각은 강의를 들은 대부분의 사람들이 했을 것 같다.
- 각 개발환경을 만들지 않고도 코딩을 웹에서 하고 배울 수 있는 환경을 만드는 것, 그 취지는 정말 괜찮다. (다만 사업성이 얼마나 있을지 의문이지만… 하지만 최근 코딩교육 열풍을 생각해보면 괜찮을지도?)
- 회사를 만든 취지가 재미있었다.
그리고 남은 생각들
- 삼성전자는 역시 급이 다르다.
- 광활함
- 식당 굿
- 사은품: 우산! 티셔츠 따위를 주지 않습니다.
- 공항 검색대. 회사 한번 들어가면 퇴근 전까지 나오기 힘들겠다는 생각이…
- ML 또는 AI 관련 Cloud 서비스는 얼른 하나하나 써 봐야겠음. (AWS 다루듯이)
- MS, Google 모두 가입하기
- 덤으로 MS IoT 관련도 간단하게 디바이스 가지고 테스트 해보기
- 그리고 Bot Framework 도 써보기
- 작년에 비해 줄어든 규모. 갤노트 7 파문이 큰 것인지도?
- 작년 프로그램: SOSCON 2015
- 그래도 올해 수준만이라도 유지해준다면 내년에도 갈 의향이 있다.