이전

리뷰 (1)

한줄평
평점 분포
  • 리뷰 총점10 100%
  • 리뷰 총점8 0%
  • 리뷰 총점6 0%
  • 리뷰 총점4 0%
  • 리뷰 총점2 0%
연령대별 평균 점수
  • 10대 0.0
  • 20대 0.0
  • 30대 0.0
  • 40대 10.0
  • 50대 0.0

포토/동영상 (1)

리뷰 총점
[도서 리뷰] Build a Large Language Model
"[도서 리뷰] Build a Large Language Model" 내용보기
요즘 열심히 LLM을 만들고 있어요. 그러다 문득, 관련 서적이 있나 찾아보게 되었고 우연히도 다음 책을 발견했네요Build a Large Language Model From ScratchManning에서 나온거라 믿을만한 책이라 생각이 되었고, Github에서 코드도 볼 수 있고, PDF도 공개되어 있더라구요. 위퀴독스에서는 번역도 진행중인거 같았습니다.. (많이 되진 않았지만)그래서 구매시전을 했어요. 9만원이 넘
"[도서 리뷰] Build a Large Language Model" 내용보기

요즘 열심히 LLM을 만들고 있어요. 그러다 문득, 관련 서적이 있나 찾아보게 되었고 우연히도 다음 책을 발견했네요


Build a Large Language Model From Scratch


Manning에서 나온거라 믿을만한 책이라 생각이 되었고, Github에서 코드도 볼 수 있고, PDF도 공개되어 있더라구요. 위퀴독스에서는 번역도 진행중인거 같았습니다.. (많이 되진 않았지만)


그래서 구매시전을 했어요. 9만원이 넘네요 ㅠㅠㅠㅠㅠㅠㅠ 여러 경로를 알아보았으나, 책 값에 배송 비를 합치면 이래저래 항상 9만원이 넘어요. 책은 아까우니 깨끗하게 두고, ebook이 공짜로 제공되니 ebook을 출력해서 낙서하면서 공부했어요.


내용은 어렵지 않습니다. Transformer를 충실하게 공부했고, 기본적인 Pytorch를 할 줄 안다면 이미 다 아는 내용일 수도 있습니다. 평이한 데이터 처리, 학습, 평가 그리고 Fine-tuning을 다룹니다. 


하지만, 이 내용들을 굉장히 자세히 코드와 함께 서술합니다. 단순 코드 뿐만 아니라 그림이 너무 잘 되어 있어요. 다음 그림은 전반적으로 배울 내용들을 그려둔 것으로, 각 모듈을 하나씩 하나씩 배우고 전체를 다 배우면 책이 끝나빈다..



저는 LLM 을 Llama-2 코드를 보면서 좀 배웠었는데, 해당 코드를 보면 데이터셋을 어떻게 구성하는지는 딱히 없어요. 그 부분이 많이 간지러운 부분이었는데, 이 책에서 어느정도는 알게 됩니다. 하지만 여전히 LLM을 위해 어떤 전처리 등이 필요한지에 대해서 깊하게 논의는 안합니다.


이 책은 다시 말씀드리지만, 꽤나 초보자를 위한 책입니다. 제대로 된 LLM을 만들고자 한다면 결국 다른 Open source를 뒤져봐야 할 것에요 (물론,,, 그 코드들과 이 코드들의 차이가 굉장히 많이 나진 않아요.. Open source는 정말 중요한 작업들은 공개를 안하므로 ㅎㅎ)



위에 보시는것처럼 설명이 굉장히 자세합니다. 중간에 exercise 도 몇개 있는데, 정말 이해를 잘 했는지에 대해서 자가 검증하기에 좋습니다. 그림을 너무 잘 그려줘서 읽기가 매우 편해요.


단지,  그림을 잘 표현하기 위해서 소숫점을 그림에서는 좀 round처리합니다. 예를 들어 코드에서는 0.9333 과 다면 그림에서는 0.9, 코드 결과가 0.8733이라면 역시나 그림에서는 0.9와 같이 표현이 됩니다.


이렇게 표현한다고 언급은 한번 책에서 하긴 하지만, 이걸 놓치면 왜 그림과 코드의 수치가 다른가 하고 햇갈릴 수 있어요.. 비슷하게 실제 gpt 2기반이므로 5만개가 넘는 vocab size를 다루지만 그림에서는 단순화를 위해 7개 토큰만 쓴다든지.. 뭐 이런게 좀 있어요


하지만 그럼에도 불구하고 제가 읽어본 책들 중 제일 친절합니다.



나름 공부 열심히 한 증표로 위 사진도 남겨봅니다. 읽는데 하루도 안 걸렸어요. 중간에 좀 애매한 부분들은 직접 코딩도 해보고 했는데도 그리 오래 걸리진 않더라구요.


제가 만들어서 열심히 돌아가는 코드와는 좀 다른 부분이 있어요. 특히 데이터셋 부분이 다른대요, 예를 들어, 이 책은 I am a boy 에 대한 입력에 대한 출력을 am a boy at 과 같이 context length - 1을 같이 학습합니다. 이게 대규모로 가면 조금 데이터셋의 사이즈가 커질 것 같고 많은 하드웨어를 요구할 것 같은데요.. 이 방식이 학습에 더 좋은 방식이라면 제가 더 할말은 없으니..


매우 좋은 책이었고 재미있었습니다. 소설 책 읽다가 이 책을 읽기 시작하고선 한번에 다 읽은거 같아요.

나름 공부 열심히 한 증표로 위 사진도 남겨봅니다. 읽는데 하루도 안 걸렸어요. 중간에 좀 애매한 부분들은 직접 코딩도 해보고 했는데도 그리 오래 걸리진 않더라구요.


제가 만들어서 열심히 돌아가는 코드와는 좀 다른 부분이 있어요. 특히 데이터셋 부분이 다른대요, 예를 들어, 이 책은 I am a boy 에 대한 입력에 대한 출력을 am a boy at 과 같이 context length - 1을 같이 학습합니다. 이게 대규모로 가면 조금 데이터셋의 사이즈가 커질 것 같고 많은 하드웨어를 요구할 것 같은데요.. 이 방식이 학습에 더 좋은 방식이라면 제가 더 할말은 없으니..


매우 좋은 책이었고 재미있었습니다. 소설 책 읽다가 이 책을 읽기 시작하고선 한번에 다 읽은거 같아요.



a*****r 2025.03.23. 신고 공감 3 댓글 0