ݺߣ

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

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
  • 4. 누구나 macOS를 구매하고 싶어한다. macOS를 사용하지 못하는 단 1가지 이유. 4
  • 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
  • 9. 그렇지만 Windows를 사게 될 것이다. Windows에 눈길이 가는 3가지 이유. 9
  • 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
  • 13. 그렇지만 리눅스가 필요하게 될 것이다. 리눅스가 필요할 때가 있다. 반드시! 13
  • 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
  • 17. 하지만, WSL의 유혹을 견딜 수 없을 것이다. 물론이지!, 근데 써봤어? 17
  • 18. 마성같은 WSL ● 갈수록 좋아지고 있는 WSL ● WSL의 경우 생각보다 사용자가 알아야되는 경우가 많기 때문에 손쉽게 사용하기 쉽지 않음 ● 하지만, 어럽기 때문에 포기할 수 없는 마성이 있음 ● 중요한 건 꺾이지 않는 마음은 가지고 있지만, WSL은 여러분을 반드시 꺾는 난해함도 있으니 사용성에 주의하고 관심을 기울여보자. 18
  • 19. 결론 ● 머신러닝을 해볼까? 싶다면 Windows 기반 Laptop 사용을 고려해볼 것 ○ iOS 및 유관 시스템 관련 개발자라면 macOS는 필수 ● Ubuntu는 어떤 조건에서도 훌륭한 개발 환경을 제공 ○ WSL은 생각보다 사용이 쉽지 않아서 아직 많은 사용기가 없지만, 충분히 성장 가능성이 높음 ● 대부분의 머신러닝 개발 및 연구자는 Windows 노트북을 선택할 확률이 높음 ○ 여러분 Ubuntu는 “Free” ● 개발 및 연구 환경을 위한 Toolchain이 생각보다 빠르게 발전하고 있음 ○ 플랫폼에 종속적이지 않은 형태로 개선이 되고 있지만, 특정 분야의 경우 플랫폼에 제한적임 ● 자신이 원하는 역할에 맞춰서 선택을 진행해야 함 19
  • 20. 추가사항 ● 해당 주제와 관려된 추가 및 변경 사항은 “https://www.sangkon.com” 을 방문해주세요. 20