태그 보관물: PyTorch

“밑바닥부터 만들면서 배우는 LLM”이 출간되었습니다!

아마존의 신경망 분야 베스트 셀러인 <Build a Large Language Model (from Scratch)>의 번역서 <밑바닥부터 만들면서 배우는 LLM>이 출간되었습니다!

오픈AI의 GPT 모델을 파이토치 코드로 진짜 밑바닥부터 만들어 보면 LLM이 무엇인지, 현재 AI 기술이 어떤 발전을 이루었는지 알 수 있습니다!

출간을 기념하여 인프런 챌린지를 만들어 10월 초부터 역자와 함께 책을 완독하는 8주 프로그램을 계획하고 있습니다. 완주하신 분에게는 풍성한 상품도 준비하고 있으니 기대해 주세요! (인프런 챌린지에 대한 자세한 내용은 다음 주 초에 블로그를 통해 다시 알려 드리겠습니다)

  • 현재 온라인/오프라인 서점에서 판매중입니다. [교보문고] [Yes24[알라딘]
  • 560페이지, 40,000원 –> 36,000원, 전자책: –원
  • 이 책에 실린 코드는 깃허브에 있습니다.
  • 도서 소개 영상:

Machine Learning with Python Cookbook 2nd Ed. 번역 완료

<Machine Learning with Python Cookbook 2판>의 번역을 완료했습니다. 2판에서는 1판의 큰 틀을 유지하면서 1판에서 부족했던 레시피를 많이 추가했습니다.

특히 2판에서는 딥러닝 파트의 해결책을 만드는데 사용하는 라이브러리를 케라스에서 파이토치로 변경했고 딥러닝 부분의 레시피도 훨씬 늘렸습니다. 파이토치를 주로 사용하는 사용자들의 입맛에 잘 맞을 것 같다는 생각이 드네요.

그럼 조판이 되어 출간이 준비되면 다시 알려 드리겠습니다. 기대해 주세요! 🙂

“머신 러닝 교과서: 파이토치 편”이 출간되었습니다!

아마존 베스트 셀러 <머신 러닝 교과서>의 파이토치 버전인 <머신 러닝 교과서: 파이토치 편>이 드디어 출간되었습니다!

머신러닝 파트는 최신 라이브러리 버전에 맞춰 내용을 보강하고 딥러닝 파트는 파이토치를 사용하여 인공 신경망, 합성곱 신경망, 순환 신경망을 설명합니다. 거기에다가 트랜스포머와 그래프 합성곱도 추가되었습니다. 마지막으로 파이토치 라이트닝 라이브러리 설명까지! 와우!

  • 온라인/오프라인 서점에서 판매 중입니다! [Yes24], [교보문고], [알라딘]
  • 876페이지, 58,000원 -> 52,200원, 전자책: 46,400원

책을 출간하는데 도움을 주신 길벗 출판사에 감사드립니다. 올해 마지막 도서입니다. 모두 한 해 마무리 잘 하시고 즐거운 연말되세요! 🙂

“파이토치로 배우는 자연어 처리”가 출간되었습니다.

<파이토치로 배우는 자연어 처리>는 델립 라오Delip Rao, 브라이언 맥머핸Brian McMahan이 지은 <Natural Language Processing with PyTorch>의 번역서입니다.

저의 첫 번째 파이토치 책이네요. 부족한 점이 많지만 재미있게 봐주세요. 책을 내기까지 도와 주신 모든 분들께 정말 감사드립니다!

  • 온라인/오프라인 서점에서 판매중입니다. [Yes24], [교보문고], [알라딘]
  • 296페이지, 풀 컬러: 26,000원 –> 23,400원, 전자책: 20,800원
  • 이 책에 실린 코드는 깃허브에 있습니다.
  • 이 책의 코드는 사이킷런 0.24, 파이토치 1.8에서 테스트되었고 구글 코랩(Colab)을 사용해 무료로 실행할 수 있습니다.

PyTorch 1.1.0 Release

파이토치 1.1.0 버전이 릴리스되었습니다. 1.1.0버전부터 공식적으로 텐서보드를 지원합니다. 또한 CUDA 8.0 버전은 더 이상 지원하지 않습니다. CUDA 9.0이나 10.0을 사용하세요.

screen20shot202019-04-2520at204.53.4220pm

자세한 내용은 릴리스 노트를 참고하세요.

콘다(conda)를 사용하면 파이토치를 손쉽게 설치할 수 있습니다. 윈도(Windows) 바이너리는 파이썬 2.7을 지원하지 않습니다. macOS 바이너리는 GPU를 지원하지 않습니다.

# CUDA 9.0 or 10.0 for Linux, Windows
$ conda install pytorch torchvision cudatoolkit=9.0 -c pytorch
$ conda install pytorch torchvision cudatoolkit=10.0 -c pytorch

# CPU for Linux, Windows
$ conda install pytorch-cpu torchvision-cpu -c pytorch

# macOS
$ conda install pytorch torchvision -c pytorch

Spinning Up in Deep RL

OpenAI에서 강화 학습 교육 자료인 스피닝 업(Spinning Up)을 공개했습니다. 깃허브에서 관련 코드도 같이 제공됩니다. 아래 알고리즘 트리 중에서 스피닝 업에서 다루는 것은 Policy Gradient, PPO, TRPO, DDPG, TD3, SAC입니다.

rl_alg.tree.png

OpenAI에서 스피닝 업을 만들게 된 이유가 강화 학습을 배우기 위한 적절한 자료가 없기 때문이라고 합니다. 곰곰히 생각해 보면 일리가 있습니다. 딥러닝 관련되어서는 좋은 책과 온라인 자료를 쉽게 찾을 수 있지만 강화 학습은 많이 부족합니다. <핸즈온 머신러닝> 16장에서 강화 학습을 다루고 있지만 제한된 범위입니다. 서튼(Sutton) 교수의 <Reinforcement Learning: An Introduction> 2판이 곧 출간될 예정입니다. 이 책은 강화 학습의 대표적인 텍스트 북입니다. 조금 더 핸즈온 스타일의 강화 학습 책으로는 어떤 것이 있는지 찾아 보았습니다.

71y3a2bdjf3l  zai-drl-meap-hi  morales_drl_hiresmeap

맥심 라판(Maxim Lapan)이 쓴 팩킷(Packt)의 <Deep Reinforcement Learning Hands-On>이 아마존에서 독자 반응이 좋습니다. 이 책은 DQN, Policy Gradient, A2C, A3C, TRPO, PPO, I2A, AlphaGo Zero 등을 다룹니다.

매닝에서는 <Deep Reinforcement Learning In Action>과 <Grokking Deep Reinforcement Learning>이 준비되고 있습니다. 매닝 책은 출간되려면 아직 한참 기다려야 할 것 같네요. 재미있게도 이 세 책은 모두 파이토치를 사용합니다. 🙂

PyTorch 0.4.0 Release

파이토치PyTorch 0.4.0 버전이 릴리즈되었습니다. 많은 기능이 추가되고 개선되었다고 합니다. 그중에서도 눈에 띄이는 것은 텐서(Tensor)와 변수(Variable)를 하나로 합친 것과 checkpoint 컨테이너입니다. checkpoint 컨테이너를 사용해 모델을 나누어 만들면 메모리가 부족하여 정방향에서 계산한 값을 유지하지 못할 경우 역전파를 위해 가까운 체크포인트에서부터 정방향 패스의 중간 값들을 다시 계산합니다. 수행시간은 느려지겠지만 메모리가 작은 GPU를 사용하는 경우에는 아주 반가운 소식입니다! 또 한가지는 드디어 윈도우즈 지원이 됩니다! 다만 윈도우즈는 파이썬 3.5와 3.6 만을 지원합니다.

더 자세한 변경사항은 릴리즈 노트를 참고하세요. 설치할 때 conda 대신에 pip를 사용할 수도 있습니다. 윈도우즈에서 pip로 설치할 경우는 wheel 패키지 경로를 직접 지정해 주어야 합니다.

# macOS (no GPU)
$ conda install pytorch torchvision -c pytorch

# Linux CUDA 8.0
$ conda install pytorch torchvision -c pytorch
# Linux CUDA 9.0
$ conda install pytorch torchvision cuda90 -c pytorch
# Linux CUDA 9.1
$ conda install pytorch torchvision cuda91 -c pytorch
# Linux CPU
$ conda install pytorch-cpu torchvision -c pytorch

# Windows CUDA 8.0
$ conda install pytorch -c pytorch
# Windows CUDA 9.0
$ conda install pytorch cuda90 -c pytorch
# Windows CUDA 9.1
$ conda install pytorch cuda91 -c pytorch
# Windows CPU
$ conda install pytorch-cpu -c pytorch
# pip를 사용할 때 wheel 경로
# 파이썬 3.5, CUDA 8.0: http://download.pytorch.org/whl/cu80/torch-0.4.0-cp35-cp35m-win_amd64.whl
# 파이썬 3.5, CUDA 9.0: http://download.pytorch.org/whl/cu90/torch-0.4.0-cp35-cp35m-win_amd64.whl
# 파이썬 3.5, CUDA 9.1: http://download.pytorch.org/whl/cu91/torch-0.4.0-cp35-cp35m-win_amd64.whl
# 파이썬 3.5, CPU: http://download.pytorch.org/whl/cpu/torch-0.4.0-cp35-cp35m-win_amd64.whl
# 파이썬 3.6, CUDA 8.0: http://download.pytorch.org/whl/cu80/torch-0.4.0-cp36-cp36m-win_amd64.whl
# 파이썬 3.6, CUDA 9.0: http://download.pytorch.org/whl/cu90/torch-0.4.0-cp36-cp36m-win_amd64.whl
# 파이썬 3.6, CUDA 9.1: http://download.pytorch.org/whl/cu91/torch-0.4.0-cp36-cp36m-win_amd64.whl
# 파이썬 3.6, CPU: http://download.pytorch.org/whl/cpu/torch-0.4.0-cp36-cp36m-win_amd64.whl
# Windows 공통
$ pip3 install torchvision

PyTorch 0.3.1 Release

파이토치PyTorch 0.3.1 버전이 릴리즈되었습니다. 주로 버그 수정과 성능 향상을 포함하고 있습니다. 자세한 변경사항은 릴리즈 노트를 참고하세요.

파이토치 0.3.1 부터는 CUDA 3.0, 5.0과의 호환성이 삭제되었고, CUDA 7.5를 위한 바이너리 설치가 제외되었습니다. 대신 CUDA 8, 9, 9.1용 바이너리 설치가 제공됩니다. 지원하는 파이썬 버전은 2.7, 3.5, 3.6 입니다.

# macOS (no GPU)
$ conda install pytorch torchvision -c pytorch

# Linux CUDA 8.0
$ conda install pytorch torchvision -c pytorch
# Linux CUDA 9.0
$ conda install pytorch torchvision cuda90 -c pytorch
# Linux CUDA 9.1
$ conda install pytorch torchvision cuda91 -c pytorch
# Linux CPU
$ conda install pytorch-cpu torchvision -c pytorch

지난 달 말에는 마이크로소프트의 CNTK 2.4 버전이 릴리즈 되었습니다. 자세한 사항은 릴리즈 노트를 참고하세요.

PyTorch 0.3.0 Release

파이토치PyTorch 0.3.0 버전이 릴리즈되었습니다. 주요한 변경 사항으로는 loss를 reduce할지 여부를 지정할 수 있는 매개변수, autograd를 위한 프로파일러, 새로운 레이어와 다양한 함수 등 많은 기능이 추가, 변경되었고 성능이 많이 향상되었다고 합니다. 자세한 변경사항은 릴리즈 노트를 참고하세요.

파이토치 0.3.0 부터는 CUDA 9과 cuDNN 7을 지원하고 conda 채널이 pytorch로 바뀌었습니다. CUDA 지원은 텐서플로보다 조금 더 빠른 것 같습니다. 또 CUDA 8, 7.5 버전에 대한 바이너리도 유지하고 있어 편리한 것 같습니다. 지원하는 파이썬 버전은 2.7, 3.5, 3.6 입니다.

# macOS (no GPU)
$ conda install pytorch torchvision -c pytorch

# Linux CUDA 7.5
$ conda install pytorch torchvision cuda75 -c pytorch
# Linux CUDA 8.0
$ conda install pytorch torchvision -c pytorch
# Linux CUDA 9.0
$ conda install pytorch torchvision cuda90 -c pytorch

0.2.0 버전도 그러더니 파이토치는 이번에도 컨퍼런스(NIPS 2017)에 일정에 맞춰 출시하네요. 🙂

PyTorch 0.2.0 Release

파이토치PyTorch 0.2.0 버전이 드디어 릴리즈 되었습니다. 3개월이 넘게 걸렸지만 ICML 2017에 때를 맞추었네요.^^ 넘파이NumPy 스타일의 브로드캐스팅broadcasting, 분산처리, 강화된 배열 인덱싱, 2계 도함수 그래디언트second order gradient 등 많은 기능이 포함되었습니다. 추가된 기능에 대한 자세한 설명은 릴리즈 노트를 참고하세요. conda를 사용하면 비교적 편리하게 파이토치를 설치할 수 있습니다.

# Linux CUDA 7.5, macOS for Python 2.7/3.5/3.6
$ conda install pytorch torchvision -c soumith
# Linux CUDA 8.0
$ conda install pytorch torchvision cuda80 -c soumith