좋은 기회가 되어서 정말 간만에 길벗출판사의 도서를 리뷰하게 되었다.

 

개인적으로 좀 바쁜 시기였음에도 불구하고, 도저히 피할 수 없는 너무나 매력적인 조건들이라 리뷰 신청을 하지 않을 수 없었다.

- 최근 진행하고 있는 스터디에서 트랜스포머를 건드려보고 있는데, 직접 만들어보는 GPT 라니 !!!

- 개인적으로 공부할 때 가장 좋아하는 스크래치 부터 직접 구현해보는 방식이다 !!!

- 원서의 출처가 MANNING 이라면.... 최소한 기본 이상은 될거라는 믿음이 있다 !!!

- 소스코드 구현도 PyTorch 기반으로 했다. 와우 !!!

- 내가 너무나 추종하는 박해선님이 옮긴이로 참여한 책이다 !!! 우와 !!!

- 박해선님이 참여했다면 ... 하나 하나 꼼꼼하게 다시 만들어 주시는 샘플 코드들이 기대되고 ... !!!

- 박해선님이 참여했다면 ... 혹시 동영상 강의도 기대를 ?! ?!

 

 

표지를 보곤 출간한지 좀 오래된 책인 것 같은 느낌이 들었지만,

원서 "Build a Large Language Model (From Scratch)"를 살펴보니 24년 10월 29일에 출간되었다.

 

음... 그냥 교과서 같은 느낌의 표지 디자인이라고 생각해야겠다! ㅋㅋ

 

 

개인적으로 열렬한 팬심을 갖고 있는 박해선님의 책이라 무조건 믿음 이다 !!! ^^

 

저자인 '세바스찬 라시카'의 그동안의 저서들과 이번 책을 봤을 때 교과서 스타일을 좋아하는 것으로 보이기에

박해선님의 스타일과 너무 잘 맞는, 말 그대로 찰떡궁합인 것 같다.

 

 

원서가 출간된지 거의 1년만에 번역본이 출간된 것이다보니 AI 시대에 있어서 1년이라는 시간이 살짝 걱정되지만

최근 LLM의 근간이 되는 그 뿌리에 대한 내용이기도 하고,

코드에 있어서의 문제는 박해선님이 충분히 그 간극을 매꿔주시고 부족한 것은 보충해주셨을 것이라 문제 없을 것이다.

 

 

LLM 관련 샘플 코드들의 경우 라이브러리 버전 맞추기라던지, GPU 리소스의 문제가 있기 때문에

종종 Colab에서만 실행 가능하거나, 실습 환경 구축하는 것에 많은 제약이 있기도 하는데

친절하게도 일반적인 환경에서도 실습 가능하도록 세심히 배려해주셨다.

 

소스코드는 아래 링크와 같이 박해선님의 저장소에서 찾아볼 수 있다.

https://github.com/rickiepark/llm-from-scratch

 

 

이 책은 표지뿐만 아니라 챕터 구성이나 그 내용, 심지어 목차의 타이틀만 봐도 "교과서"의 냄새가 많이 난다.

나쁜 의미가 아니라 LLM에 대해서 공부하는 사람에게는 너무나 좋은 너무나 충실한 책이라는 의미이다.

 

 

개인적으로 풀컬러 책을 좋아하기에 조금 아쉽기는 하지만,

그래도 흑백으로만 하지는 않고, 주황색으로 포인트를 주었다.

 

 

이 책은 부록이 살짝 숨어있다.

책의 뒷 부분을 보면 "워크북"이 분리가 된다.

 

 

그렇다 !!! 이 책은 정말 교과서 였던 것이다 !!!

책을 잘 공부했는지 연습문제도 제공을 해준다 !!!

 

음... 문제의 퀄리티가 엄청 고급스럽지는 않은 것 같은데,

그래도 제대로 공부했는지 확인하는 용도로는 충분히 괜찮은 것 같다.

 

 

혹시나, 하고 찾아봤는데

역시나 박해선님은 나의 기대를 져버리지 않고 동영상 강의를 제공해주셨다.

https://www.youtube.com/playlist?list=PLJN246lAkhQhgakhcxz-5GwG_NYuJgSv1

 

 

교과서 책이라서 그러신 것인지, 별도 강의도 운영을 하신다. (이것은 물론 유료 강의이다 ^^)

http://www.inflearn.com/course/lt밑바닥부터-만들면서-배우는-llm-1

 

 

 

아! 그리고, 현재 이 책의 경우 아직 초판이기에 정오표 확인이 정말 중요하다.

https://tensorflow.blog/llm-from-scratch/

 

 

오타도 물론 있지만, 소스코드 부분에 있어서 생각보다 많은 부분의 정오표가 기록되어 있다.

공부할 때 빼놓지 말고 필독 !!!

 

 

 

이 책을 보면 설명도 정말 잘 되어있고 그림으로 설명하는 부분도 정말 세심하게 많이 신경써서 표현된 것을 알 수 있다.

 

하지만, 조금 아쉬운 점은 지나친 한글화 작업이다.

뭔가 의도하신 바가 있으셔서 그렇게 하셨을 것이라 생각은 하지만,

공부하는 입장에서 지나친 한글화는 오히려 더 햇갈리거나 나중에 더 어려움을 느끼게 된다.

 

예를 들어, "layer normalization" 같은 경우 "층 정규화"라고 사용하는 것이 크게 어색하지는 않은데

"causal attention" 같은 경우 "코잘 어텐션"이라고 한글로 사용을 하게 되면 상당히 많이 어색하다.

 

구글에서 "코잘 어텐션"이라고 검색해도 잘 나오지도 않는다.

오히려 "인과적 어텐션"이라고 검색하는 것이 더 많은 결과가 나온다.

 

아직 대중화(?)되지 않은 용어의 경우에는 그냥 본래 단어(영어)로 표현하는 것이 더 좋지 않을까 생각해본다.

 

(하지만, 미천한 내가 알지 못하는 이유가 있을 거라는 생각은 한다. 셀프 어텐션과 뭔가 pair가 되어야 한다거나 하는...)

 

 

마지막으로 이 책에 대해서 총편을 해보자면,

LLM을 공부하고자 하는 사람이라면 교과서로 생각하고 무조건 구매해서 꼼꼼하게 공부해야 하는 책이다 !!!

반응형

IntelliJ로 유명한 젯브레인(JetBrains)에서

25년 8월에 발표한 "The State of Python 2025)라는 보고서(설문조사)를 살펴보면

상당히 다양한 버전의 Python이 사용되고 있다는 것을 알 수 있다.

 

 

많은 사용자(15%)가 3.13 버전 이상의 최신 Python 버전을 사용하고 있지만,
1년 이상 오래된 버전을 사용하고 있을 가능성이 훨씬 더 높다(83%).

그런데, 이렇게 오래된 버전의 Python을 사용해도 괜찮은걸까?

 

 

▶ Status of Python versions (2025.10.25 기준)

- 가끔 아직도 2.x 버전 Python을 사용하는 경우를 최근에도 보는데, 보안을 생각하면 정말 위험한 선택이다

- 문제는 이제는 3.9 버전 이하도 모두 보안 패치도 끝난 end-of-life 버전이라는 것이다.

 

 

 

▶ Supported versions (2025.10.25 기준)

- 현재 시작하는 프로젝트라면 최소한 3.10 버전 이상을 사용해야 하고

  가급적이면 3.12 버전 이상을 사용하는 것이 그나마 조금 안전한 선택이지 않을까 한다.

 

 

 

▶ Release Compatibility Matrix (w/ PyTorch)

- support 기간 뿐만 아니라 호환성도 고려하면서 버전을 선택해야 한다.

- 사용하고자 하는 PyTorch 버전에 따라서 호환되는 Python 버전이 따로 있다.

 

 

 

▶ Python Downloads

- Python 설치를 위한 다운로드 페이지를 보면 다양한 버전과 배포판을 볼 수 있다.

 

 

 

안정성 등을 고려해서 최신 버전을 기피하는 개발자가 많은데,

최근 버전의 Python을 선택하면 성능에서도 많은 장점이 있고 유용한 여러 feature들이 있으니 한 번 고려해보기 바란다.

 

 

[ 출처/참고 ]

- https://blog.jetbrains.com/pycharm/2025/08/the-state-of-python-2025/ 

- https://devguide.python.org/versions/

- https://github.com/pytorch/pytorch/blob/main/RELEASE.md#release-compatibility-matrix

- https://www.python.org/downloads/

반응형

 

Deep Learning을 공부하다보면

제일 먼저 접하는 것은 이미지 데이터를 CNN을 통해 분석하는 방법이다.

 

그 다음에 공부하게 되는 것이

데이터들의 순서가 중요한 시계열 데이터를 위한 RNN이고

이러한 RNN이 필요한 가장 대표적인 데이터 유형이 바로 자연어 처리이다.

 

그런데, 반대로 생각해볼 필요가 있다.

자연어 처리는 반드시 RNN만 적용해야 하는 것일까?

 

이런 궁금증을 해결해줄 수 있는 책이 바로 이 책이다.

 

Natural Language Processing with PyTorch

파이토치로 배우는 자연어 처리

 

표지

 

21년 6월에 초판을 찍은 아직은 따끈따끈한 책이다.

내부에도 저 예쁜 새(노랑허리상모솔새)가 컬러로 인쇄되어 있어서 깜짝 놀랐다 ^^

 

아! 이 책은 ML/DL 관련해서 공부를 해보신 분들이라면

당연히 알고 계실 `박해선`님이 번역해주셨다!

 

초판인쇄

 

책은 정말 친절하게도 Chapter 1 하나를 소개를 위한 내용으로 채워져있다.

 

목차 1

 

또한 자연어 처리를 위한 기본적인 내용들도 친절하게 소개를 해준다.

 

심지어 Neural Network에 대한 기본적인 사항들에 대해서도 소갤를 해주고 있는데,

사실 이러한 내용들에 대해서 사전에 학습되지 않은 사람들이 과연 이 책을 구매할까?라는 의문은 있다.

 

목차2

 

Deep Learning에 대한 기본적인 공부를 이 책으로 할 수 있을지는 조금 의문스럽지만,

그럼에도 불구하고 나름 꼼꼼하고 깔끔하게 잘 설명해주고 있다.

 

이미 공부를 하신 분들도 이 책을 통해서 한 번 훑어보는 것도 괜찮을 것 같다.

 

지도학습

 

이 책의 특징 중 하나는 바로 매 챕터에 `연습문제`가 있다는 것이다.

책을 눈으로만 봤다면 쉽게 풀 수 없는 문제들이다.

 

연습문제

 

 

이 책에 대해서 총평을 해보자면,

 

Deep Learning으로 자연어 처리를 어떻게 할 수 있는지

특히 PyTorch를 이용해서 자연어 처리를 해보고 싶은 사람들에게 추천할 수 있을 것 같다.

 

하지만, 초급인 분들에게는 조금 어려움이 있을 것 같다.

최소한 Deep Learning에 대해서 기본적인 지식은 있는 분들에게 적합하다고 생각된다.

 

Deep Learning에 대한 지식이나, PyTorch에 대해서 알고싶은 사람들 보다는

자연어 처리에 대해서 공부하고 싶은 분들에게 추천한다.

 

살짝 한 번 공부해본 분들이 정리하는 차원에서 봐도 좋을 책이다.

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

반응형

[ GAN is ... ]

 

AI가 만든 얼굴이라던지, 오바마 전미국대통령의 fake 영상이라던지 하는 뉴스를 들어보았을 것이다.

이런 것들을 만들어낼 수 있는 가장 대표적인 기술적 배경이 바로 GAN 이다.

 

아래 영상을 보면 바로 어떤 것인지 알 수 있다.

 

 

GAN은 "Generative Adversarial Network"의 줄임말인데, 풀어보면 아래와 같이 말할 수 있다.

  • Generative: 생성(Generation) 모델을 이용하여, 진짜 데이터와 같이
  • Adversarial: 두 개의 모델을 적대적(Adversarial)으로 경쟁시키며 발전 시키는
  • Network: 인공신경망(Artificial Neural Network)

 

"GAN"은 라벨(정답)이 없는 데이터를 가지고 학습을 하는 비지도학습의 한 유형이다.

GAN에 대한 가장 대표적인 설명은 "위조지폐범"과 "경찰"이다.

 

GAN

 

위조지폐범(생성모델)은 진짜와 구분이 어렵도록 위조지폐(가짜 데이터)를 계속 생성하고,

경찰(분류모델)은 진짜와 가짜를 계속 분류하면서 50%의 확률 정도가 될 때까지 계속 진행을 하는 방식이다.

 

 

 

[ This book is ... ]

 

서두가 길었다 ^^

 

GAN에 대해서 알려주는 괜찮은 책이 이번에 한빛미디어에서 출간되었다.

책의 제목은 "GAN 첫걸음" !!!

 

GAN 첫걸음 - 표지

 

예쁜 보라색으로 깔끔한 폰트로 제목이 적혀있는 표지를 갖고 있는 조금 작은 크기(신국판 규격 정도?!)의 책이다.

거기에다가 지금 이 글을 적고 있는 시점에서보면 나온지 얼마 안되는 따끈따끈한 책이다.

 

GAN 첫걸음 - 초판

 

이 책의 지은이는 "타리크 라시드"이다.

 

GAN 첫걸음 - 지은이

 

"타리크 라시드"는 이 책에 앞서서 다른 책을 출간했었다.

 

신경망 첫걸음 - 10점
타리크 라시드 지음, 송교석 옮김/한빛미디어

 

어떻게 보면 위 책의 다음 2권과 같은 위치에 있는 것이 바로 이 책 "GAN 첫걸음"인 것 같다.

물론, "신경망 첫걸음"을 보지 않고 바로 "GAN 첫걸음"을 본다고 하여 문제가 되지는 않는다.

 

GAN 첫걸음 - 대상 독자

 

책에 쓰여져 있는 것처럼, 기초부터 알고 싶은 사람을 배려해서 쓰여져 있기 때문이다.

 

하지만, 아무리 그래도 최소한 Machine Learning에 대한 기초적인 지식이 있으면 조금 더 읽기 수월할 것이고

"신경망 첫걸음"을 먼저 읽었다면 더더욱 읽고 이해하기 좋을 것이다.

 

 

[ Prerequisite ]

 

이 책은 기본적으로

"구글 코랩(Google Colab)" 환경에서 "파이토치(PyTorch)" 라이브러리를 이용하여 GAN을 구현한다.

 

친절하게도 이 책에서는 "Chapter1 파이토치 기본"에서

기본적인 실습 환경과 배경 지식에 대해서 친절하게 설명을 해주고 있다.

 

그러다가 PyTorch의 기본 데이터 형태인 텐서(tensor)에 대해서까지 Part1에서 설명을 해준다.

 

 

[ practice ]

 

"Chapter2 파이토치로 만드는 첫 번째 신경망"에서는

유명한 MNIST 데이터셋을 이용해 PyTorch로 신경망을 만드는 과정을 꼼곰히 설명해주고 있다.

 

"Chapter3 성능 향상 기법"에서는 조금 더 성능을 높이기 위한

손실함수, 활성화 함수, 옵티마이저, 정규화 등에 대해서 설명한다.

 

"Chapter4 CUDA 기초"에서는 AI 하면 떠오르는 GPU를

어떻게 사용할 수 있는지에 대해서 친절하게 설명해준다.

 

여기까지가 "Part1 파이토치와 신경망 기초"에 해당한다.

 

 

[ lesson ]

 

본격적인 GAN에 대한 학습은 "Part2 튼튼한 GAN 만들기"로 분류되어 있는

"Chapter5 GAN 개념"부터 "Chapter8 얼굴 이미지"까지로 이루어져 있고,

 

"Part3 흥미로운 GAN 기법"에서는 조금 더 고급스러운(?)

'Chapter9 합성곱 GAN', 'Chapter10 조건부 GAN'에 대해서 설명해주고 있다.

 

 

 

[ My Opinion is ... ]

 

아직 이 책의 끝까지 공부해보지는 못했지만 지금까지 공부하면서 느낀 점을 적어보면...

 

책이 나름 친절하고 쉽게 설명해주고자 노력했지만,

그렇다고 해서 Machine Learning이 뭔지도 공부하지 않은 상태에서 접하기에는 어려울 수 밖에 없다.

 

또한 책에서 심심찮게 보이는 "신경망 첫걸음에서 뭐뭐를 해봤었다"와 같이

이 책을 보기 전에 "신경망 철걸음"을 보고와야 되는 것처럼 되어 있는 점은 조금 아쉬웠다.

 

하지만,

최소한 "Machine Learning"에 대해서 조금이라도 공부를 해보신 분이라면

GAN에 대해서 공부하기 위해 이 책을 추천할 수 있을 것 같다.

 

어려운 수학 공식에 대한 설명 보다는

구글 코랩에서 PyTorch를 직접 구현해보며 공부할 수 있다는 점은 정말 좋았다.

 

직접 해보면서 공부하는 것을 좋아하시는 분에게는 정말 정말 적극 추천한다!!!

 

 

※ 이 책은 한빛출판네트워크의 '나는 리뷰어다' 이벤트를 통해 제공 받은 도서입니다.

반응형

+ Recent posts