2023. 02. 18. Daegu Developer Day 한상곤님 발표 슬라이드 자료입니다.
1 of 20
Download to read offline
More Related Content
머신러닝/딥러닝 개발자/연구자에게 필요한 개발/연구 환경
1. 우분투가 이렇게 많이
사용될리 없어!
“여름이었다”, 머신러닝/딥러닝 개발/연구를 하게 되었다.
1
● Daegu Developer Day, 2023.02.18.
2. IAM(한상곤, sigmadream@gmail.com)
● 다양한 업체에서 요구하는 온 갖 추천시스템을 설계 및
구현하는 프리랜서(freelancer)
● 부산대학교에서 프로그래밍 언어와 관련된 연구를
진행하고 있는 연구원(researcher)
● 우분투 한국 사용자 모임 운영진을 담당
2
3. 목차, “딥러닝/머신러닝 개발자/연구자의 심리 상태”
1장. 많은 사람들은 macOS를 사용한다는 생각에 기쁠 것이다.
2장. 하지만, 우리는 Windows를 기반으로 한 제품을 구매할 것이다.
3장. 그러므로, 당신은 반드시 우분투가 필요하게 될 것이다.
부록. 그럼에도 불구하고, WSL의 유혹을 견딜 수 없을 것이다.
3
5. 업계 표준 “UNIX-like”
● 유닉스 계열(Unix-like)는 '유닉스와
비슷하면서 유닉스가 아니다'라는
뜻을 내포하고 있음
● macOS는 Unix-like 환경 중에서
일반 소비자가 쉽게 사용할 수 있음
● Unix-like 환경이라서 Toolchain
구성이 쉽고 편리함
○ brew라는 강력한 패키지 도구 모음
○ gcc/llvm 기반의 컴파일 도구 지원
○ (이걸 쓰라고 만든건가 싶은) Xcode
5
6. 그러나, NVIDIA CUDA를 지원하지 않음
● CUDA를 지원하지 않기 때문에,
머신러닝 개발자 및 관련 개발 환경
구성시 어려움이 많음
● PyTorch, TF 등에서 Metal을 지원
예정
○ PyTorch의 경우 M1에서 작동
○ TF는 안정화가 (많이) 필요
6
7. 이 가격이면…
● CUDA 지원 때문에 다른 제품을
찾아보면 생각보다 비슷한
가격대에 CUDA를 지원하는
노트북이 제법 있음
○ CUDA 지원이 필요없다고 해도
비슷한 가격대에 생각보다 쓸만한
포지션이 많음
7
8. 무엇보다 Windows를 사용하는 개발자가 많음
2017 vs 2022, The State of Developer Ecosystem 2022
8
10. 원활한 CUDA 지원
● 윈도우는 NVIDIA 그래픽 카드
드라이버 설치 및 지원이 원활
● CUDA 및 cuDNN 설치도 원활
● VS2022를 설치하면 C++ 사용자를
위한 템플릿을 바로 사용할 수 있음
● eGPU를 사용을 고려해 볼 수
있을만큼 지원이 훌륭
10
11. 이젠 쓸만해진 개발 환경
● Windows Terminal 등과 같은
편리한 도구를 MS에 지원하기 시작
● scoop 등을 활용해서 대부분의
Toolchain 을 윈도우에서 구성 가능
● 심지어(!) CUDA 설정도 쉬움
11
12. VS 도구의 약진
● VSCode 등과 같은 가벼운 IDE가
널리 사용되기 시작했고,
JetBrains와 같은 특정 도메인에서
사용되는 도구를 선택하기 시작
● 따라서 어떤 도구를 선택해도
대부분 비슷한 사용자 환경을
제공함
State of frontend 2022
12
14. 하지만, 모든 것이 마음대로
되지 않는 법
● Python으로 전문적인 어떤 일을
하고자 할 때, 가장 많은 고충을
뿜어내는 문제는 “라이브러리”
컴파일 오류
● 당연히 이런 오류는 “macOS에선
발생하지 않겠지?”라고 생각한다면
그것은 정답!
● 부족한 부분을 메울 수 있는 방법은
“Unix-like” OS를 선택하는 것
14
15. 환영합니다. 격하게!
● 많은 개발자들이 개발 편의성을
위해서 선택하는 Linux 배포판인
Ubuntu에 대해서 관심을 가지게 됨
● macOS를 제외하곤 가장 널리
활용되는 Unix-like OS!
15
16. iOS/macOS 개발을 제외하고 모든 것을 지원!
● APT로 구성된 아름다운 패키지
설정
● emacs, (n)vim(꼭 emacs를 앞에…)
등과 같은 레트로한 편집기에서
VSCode, JetBrains 과 같은 모던한
IDE까지 지원
● .NET, Swift를 비롯한 거의 모든
언어를 지원
16
18. 마성같은 WSL
● 갈수록 좋아지고 있는 WSL
● WSL의 경우 생각보다 사용자가
알아야되는 경우가 많기 때문에
손쉽게 사용하기 쉽지 않음
● 하지만, 어럽기 때문에 포기할 수
없는 마성이 있음
● 중요한 건 꺾이지 않는 마음은
가지고 있지만, WSL은 여러분을
반드시 꺾는 난해함도 있으니
사용성에 주의하고 관심을
기울여보자.
18
19. 결론
● 머신러닝을 해볼까? 싶다면 Windows 기반 Laptop 사용을
고려해볼 것
○ iOS 및 유관 시스템 관련 개발자라면 macOS는 필수
● Ubuntu는 어떤 조건에서도 훌륭한 개발 환경을 제공
○ WSL은 생각보다 사용이 쉽지 않아서 아직 많은 사용기가 없지만,
충분히 성장 가능성이 높음
● 대부분의 머신러닝 개발 및 연구자는 Windows 노트북을
선택할 확률이 높음
○ 여러분 Ubuntu는 “Free”
● 개발 및 연구 환경을 위한 Toolchain이 생각보다 빠르게
발전하고 있음
○ 플랫폼에 종속적이지 않은 형태로 개선이 되고 있지만, 특정 분야의
경우 플랫폼에 제한적임
● 자신이 원하는 역할에 맞춰서 선택을 진행해야 함
19
20. 추가사항
● 해당 주제와 관려된 추가 및 변경 사항은 “https://www.sangkon.com” 을 방문해주세요.
20