이전

리뷰 (3)

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

포토/동영상 (2)

리뷰 총점 종이책
[서평] 파이토치와 구글 코랩으로 배우는 BERT 입문
"[서평] 파이토치와 구글 코랩으로 배우는 BERT 입문" 내용보기
딥러닝을 다루는 책 치고는 이 책은 책의 두께가 비교적 얇은 편에 속한다.(본문 페이지가 270여 페이지다) 보통 4~500페이지 하는 것에 비하면 절반 정도의 분량이 아닐까 싶다. 이러한 적은 분량이 이 책의 단점이자 장점이라면 이론에 치중하기 보다는 코드를 이용한 실습에 치중하고 있다는 점이다. 그렇다고 하여 이론 자체를 아예 다루지 않는다는 것은 아니다. 최소한의 기본적으
"[서평] 파이토치와 구글 코랩으로 배우는 BERT 입문" 내용보기

딥러닝을 다루는 책 치고는 이 책은 책의 두께가 비교적 얇은 편에 속한다.(본문 페이지가 270여 페이지다)
보통 4~500페이지 하는 것에 비하면 절반 정도의 분량이 아닐까 싶다.

이러한 적은 분량이 이 책의 단점이자 장점이라면 이론에 치중하기 보다는 코드를 이용한 실습에 치중하고 있다는 점이다.
그렇다고 하여 이론 자체를 아예 다루지 않는다는 것은 아니다. 최소한의 기본적으로 알고 있어야 하는 부분은 특히 개념적인 부분은 상세히 다루고 있다.

즉 알아야 만 하는 내용만 알차게 다루고 있는 것이다.
이 책을 통해 자연어처리와 관련된 기초 지식을 습득한 후 보다 고급적인 스킬을 다루는 책을 찾아본다면 쉽고 빠르게 자연어 처리와 관련된 학습을 할 수 있지 않을까 싶다.

이 책의 제1장에서는 딥러닝에 대한 개요와 BERT에 대한 개요를 다루고 있다. 2장은 개발환경에 대한 내용이다.(꼭 필요했을까 하는 의문이 드는 장이다. 이 장을 빼고 다른 유용한 내용을 추가했더라면 하는 아쉬움이 남는다.)
그리고 제3장은 파이토치를 이용한 실습을 하고, 제4장부터 BERT에 대한 내용이 나온다.

이 책의 저자는 일본인이다. 그러다보니 BERT의 언어모델은 일본어 언어모델(일본뉴스 등)을 주로 다루고 있다. 그리고 끝에 적은 분량이나마 한국어 언어모델을 적용하는 방법을 다루고 있다. 아마도 이 부분은 작게나마 도움이 되지 않을까 싶다. 보통 다른 서적들을 보면 영어 모델로 시작해서 영어 모델로 끝나기 때문에 초보자의 입장에서는 그래서 한글(한국어 모델)은 어떻게 다뤄야 하지 하고 당혹스러울 때도 있다.
그런 점에서 이 책은 좋은 참고서 역할을 하고 있다.

분명한 것은 이 책 한 권으로 BERT를 다 익힐 수는 없고, 단지 처음 접할 때 매우 유용하다는 것이다. 그리고 좀 더 어려운 내용을 다루고 있는 것들을 접한다면 크게 실력이 향상될 것이다.


 

y******y 2024.02.09. 신고 공감 1 댓글 0
리뷰 총점 종이책
BERT를 통해 자연어 처리 능숙하게
"BERT를 통해 자연어 처리 능숙하게" 내용보기
들어가며...   바야흐로 인공지능의 시대, 딥러닝의 시대가 활짝 도래했다. 하지만 딥러닝은 어떻게 작동하는지, 어떻게 구현하여 프로그램을 돌리는지를 알려면 막막하기만 하다. 이 책은 어떻게 이러한 문제를 극복할 수 있을까    BERT는 Bidirectional Encorder Representation from Technology의 약자로서 2018년 후반 구글에서 발표한 새로운 딥 러닝 모델이다. 이러한 모
"BERT를 통해 자연어 처리 능숙하게" 내용보기

들어가며...

 

바야흐로 인공지능의 시대, 딥러닝의 시대가 활짝 도래했다.

하지만 딥러닝은 어떻게 작동하는지, 어떻게 구현하여 프로그램을 돌리는지를 알려면 막막하기만 하다.

이 책은 어떻게 이러한 문제를 극복할 수 있을까 

 

BERTBidirectional Encorder Representation from Technology의 약자로서 2018년 후반 구글에서 발표한 새로운 딥 러닝 모델이다. 이러한 모델이 필요한 가장 큰 이유는 바로 자연어 처리(NLP, Natural Language Processing)를 위해서이다.

 

파이토치(PyTorch)는 딥러닝과 인공 지능 분야에서 주로 활용되는 오픈 소스 소프트웨어 라이브러리로, Facebook AI 연구소(FAIR)에서 개발하였다. 파이토치는 이름에서 짐작할 수 있듯이 Python을 바탕으로 제작되었고, 주로 Python에서 사용되나, C++과 같은 언어에서도 작동한다. (AI 용어사전 인용)

 

구글 코랩(Google Colaboratory)은 구글 드라이브에서 Jupyter Notebook으로 작성된 Python 코드를 실행시켜주는 온라인 에디터를 말한다. 기본적인 기능은 무료 사용이 가능하나 더 좋은 환경, 다양한 기능 활용을 위해서는 유료 결제가 필요하다. 기본적인 기능만으로도 Python으로 가능한 작업은 거의 대부분 사용할 수 있다. 작업 결과물은 Jupyter Notebook의 형식(.ipynb)으로 저장이 된다. (AI 용어사전 인용)

 

이 책은 구글 코랩에서 파이토치를 이용하여 BERT를 통해 인공지능 언어 학습을 위한 프로그램을 개발하는 것을 목표로 하고 있다.

어떤 사람들이 봐야 하는가?...

 

저자는 일본에서 SAI-Lab 주식회사의 대표이다. AI 관련 교육과 연구 개발에 종사하고 있다. 세계 최대 교육 동영상 플랫폼 Udemy에서 다양한 강연을 진행하고 있으며 유튜브를 통해서도 그의 강의를 만나볼 수 있다. 이 책 후반부에도 관련 사이트들을 소개하고 있다.

 

저자가 말하는 이 책을 읽어야 하는 대상은 다음과 같다.

 

한 걸음 진보한 자연어 처리 기술을 익히고 싶은 분

BERT 구현을 효율적으로 간단하게 학습하고 싶은 분

BERT 개요를 구현을 통해 파악하고 싶은 분

인공지능/머신러닝에 많은 관심이 있는 분

실무에서 자연어 처리를 다루고 싶은 분

전문 분야에서 BERT를 응용하고 싶은 연구자, 엔지니어

유용한 자연어 처리 모델을 찾는 분

 

저자는 주로 이 책을 인공지능/머신러닝 또는 자연어 처리에 관심이 있거나 이 분야에 막 종사하고자 하는 자에게 추천하고 있다.

 

이 책을 읽게 된다면...

 

우선 자연어 처리를 위한 개념과 신경망 회로의 구성에 대해서 알아가는 것이 필요하다.

 

그 후에 BERT의 개요에 대해 간단히 살핀 후 구글 코랩의 사용법을 간단하게 살필 것이다.

 

PyTorch에서 가장 기본이 되는 데이터 구조인 텐서(Tensor)와 텐서의 연산에 대해서도 알고 있으면 심화 학습을 한결 수월하게 할 수 있다.

 

이제 프로그램의 개요에 대해서는 어느 정도 알게 되었으니 이제 뉴런 활성화를 위한 기초적인 이론에 대해서 공부하게 될 것이다. 활성화 함수, 손실 함수, 최적화를 위한 다양한 알고리즘 등 많은 수학적 개념을 만나게 될 것이다.

 

이렇게 사전 지식을 쌓은 다음에 BERT 구조에 대해 실제로 구현하게 될 것이다. 단순히 BERT 구조만 구현하는 것이 아니라 TransformersAttention의 개념을 직접 배우면서 코딩을 진행하게 될 것이다.

 

이제 실제로 BERT에서 주요한 개념인 전이 학습(Transfer)과 파인 튜닝(Fine Tuning)의 개념을 배우고 실제로 코딩해 볼 것이다.

 

마지막으로 일본어와 한국어 데이터를 위의 개념을 통해 실제로 인공지능으로 학습시키도록 프로그래밍을 직접 해볼 것이다. 그것도 세 번의 사례를 통해서 말이다.

 

본 책 코딩을 코랩으로 돌린 결과물


 

이 책의 특징...

 

위에 서술된 것과 같이 이 책은 차근차근 단계를 밟으면서 봐야 한다. 이 책에 나오는 Attention처럼 이것저것 관심 있과 쉬운 곳부터 보려면 초심자는 매우 힘들 것이다.

 

또한 사전 지식이 있어야 한다.

 

우선 파이썬과 코랩 사용법에 대해 알아야 한다. 챕터 1부터 2까지 자세히 나와 있다.

 

그뿐만이 아니다. 챕터 3의 경우 수학 공식도 많이 나온다.

 

우선 기초 지식으로 네이피어 수, 로그와 e에 대한 개념을 알아야 한다. 이를 토대로 활성화 함수에 속하는 시그모이드, tanh(Hyperbolic TANgent, 하이퍼볼릭 탄젠트), ReLU(REctified Linear Unit), 항등함수 손실 함수 중 평균 제곱 오차, 교차 엔트로피 오차에 대해서 알게 된다.

 

최적화를 위한 기울기와 경사 알고리즘 - 기울기(편미분), 최적화 알고리즘으로 사용되는 SGD(Stochastic Gradient Descent, 확률적 경사 하강 알고리즘), 모멘텀, AdaGrad(Adaptive Gradient), RMSprop (Root Mean Square PROPagation), 그리고 이 책에서 많이 언급될 Adam(ADAptive Momemt estimation) 도 배워야 할 지식 중 하나이다. 이 책에서는 특히 Adam에서 기능이 추가된 AdamW를 이용해 프로그램을 구현하게 된다.

 

Adam 알고리즘을 적용한 코딩 화면


 

이 책의 주요 개념을 배우기 위해서는 사전에 알아야 할 지식과 사전 준비 작업이 많이 필요하고 어렵기 때문에, 저자는 이 책의 학습 방향과 대상을 명확하게 잡아주었다.

 

또한 이 책에서는 알아야 할 핵심 개념과 코드만 알려준다. 그래서 다른 데이터 또는 컴퓨터공학 관련 책보다 책의 구조는 단순하고 깔끔하다. 그러면서도 코딩한 결과물과 그에 대한 설명도 친절하게 잘 되어 있어 배우기에 한결 편하다.

 

그리고 챕터 맨 마지막 부분에 연습부분을 따로 만들어 앞에서 배웠던 코딩과 지식을 다시 상기하면서 부분적으로 자신이 코딩을 직접 짜게 한다. 이 책을 한번 정독하면서 직접 코딩 실습을 한다면 하나의 챕터에서 최소 두 번은 코딩 연습을 할 수 있다. 즉 반복 학습을 어느 정도 구현한 셈이다.

 

예제 파일 안내


 

다만 단순하다는 것은 다른 관점에서 보면 설명이 자세하지 않다는 말이 될 수도 있다. 이 때문에 독자의 능력에 따라서는 약간 막막하다는 생각이 들 수도 있다. 하지만 저자는 책 곳곳에 참고 사이트들을 많이 소개해 놓았으니 꼭 확인하기를 바란다. 참고 사이트를 통해 더 많은 고급 정보와 지식을 확보할 수 있을 것이다. 단 몇몇 사이트는 외국어 기반이라 번역이 필요할 것이다.

 

부록


 

또한 저자가 일본인이라 그런지 관련 사이트들이 일본 기반인 경우가 한국 기반인 것보다 훨씬 많다. 일본어가 능숙하면 관련 사이트를 방문하여 많은 도움을 받을 수 있을 것이다. 하지만 일본어에 능숙하지 않다면 구글 번역 등의 도움을 받아야 하기 때문에 번거로울 수는 있다. 그나마 한국어 모델로 직접 프로그래밍할 수 있는 사례가 있어서 도움이 될 수 있을 것 같다.

 

마치며...

인공지능은 우리가 살아가는 데 있어서 반복적이면서 힘든 작업을 사람 대신 진행하면서 서서히 직업의 형태를 바꾸고 우리 삶을 바꿔놓았다. 인공지능과 딥러닝에 대해 알고 프로그래밍하기 위해서 가장 기본이 되는 신경망의 구조와 형태, 자연어 처리를 위한 많은 개념을 될 수 있으면 깔끔하고 쉽게 알려준다.

이 책을 통해 자연어 처리와 딥러닝에 대한 기초 개념을 습득할 수 있으면 이를 통해 다양하게 인공지능에 대하여 접하고 때로는 관련 과제를 진행하면서 미래 사회의 발전에 한결 다가갈 수 있는 초석이 될 수 있을 것이다.

[이 서평은 출판사 리뷰 이벤트에서 도서를 제공 받았으며, 작성자의 주관적인 견해를 토대로 작성하였습니다.]

 
e*******s 2024.02.08. 신고 공감 1 댓글 0
리뷰 총점 종이책
파이토치와 구글 코랩으로 배우는 BERT 입문
"파이토치와 구글 코랩으로 배우는 BERT 입문" 내용보기
챗GPT가 재작년에 출시되고 자연어처리분야가 매우 핫하죠.  구글도 챗GPT에 뒤지지 않기위해 BARD를 출시했습니다. 물론 현재 챗GPT가 앞서가고는 있지만 현시점에서는 BARD도 무시하면 안되죠.  챗GPT와 BARD는 모두 트랜스포머기반 LLM입니다. 크기만 다를뿐이죠. 챗GPT는 GPT-3.5아키텍쳐를 쓰는데 비해, 구글의 BARD는 <파이토치와 구글코랩으로 배우는 BERT입문>에서 배울 BERT를
"파이토치와 구글 코랩으로 배우는 BERT 입문" 내용보기

챗GPT가 재작년에 출시되고 자연어처리분야가 매우 핫하죠.  구글도 챗GPT에 뒤지지 않기위해 BARD를 출시했습니다. 물론 현재 챗GPT가 앞서가고는 있지만 현시점에서는 BARD도 무시하면 안되죠.  챗GPT와 BARD는 모두 트랜스포머기반 LLM입니다. 크기만 다를뿐이죠. 챗GPT는 GPT-3.5아키텍쳐를 쓰는데 비해, 구글의 BARD는 <파이토치와 구글코랩으로 배우는 BERT입문>에서 배울 BERT를 사용해서 트렌스포머 아키텍터를 사용하여 단어의 앞뒤문맥을 고려해서 학습하는 모델이죠.  챗GPT와 구글 BARD를 언급하는 이유는 그만큼 현재 LLM의 핵심이고 이를 익히는 것이 텍스트를 이해하고 익히는 데 매우 중요한 방법이기 때문입니다. 더우기 파이토치는 최근논문에 많이 사용되는 머신러닝 프레임워크로 텐서플로에 비해 간결하고 사용하기 쉽고 빠르고 효율적인 계산, 다양한 딥러닝을 지원하기에 최근 많은 개발자들이 공부하는 방식입니다. 거기다  개인들은 비용이 비싼 GPU를 개인컴퓨터로 돌릴 수가 없기에  구글코랩을 이용해서 GPT를 지원받아 머신러닝을 활용할 수있는 기반을 만들래서 BERT를 효율적으로 학습할 수있게 교육환경을 잡았습니다. 

저자는 아즈마 유키나가 SAI-LAB 대표십니다. AI교육과 연구개발을 하는 기업이라고 합니다. 학력은 도호쿠대 이학박사십니다. 도호쿠대는 일본의 명문대중에 하나이죠. Udemy에서 ai관련강의도 하시고  다양한 앱도 개발했다고 합니다. 한국에 이미 <파이토치 딥러닝 모델 AI앱개발입문>,<인공지능기술><처음만나는 AI수학 WITH PYTHON>등의 다수의 책이 소개된 인기 저자십니다. 


AI는 인공지능이죠. 지능은 인간의 특성입니다. AI는 그 인간의 지능을 구현하는 것이 최종목표겠죠 무겁긴합니다만 ㄷㄷ 이를 위해서는 인간의 언어를 이해해야 합니다. 그것을 자연어처리(NLP)라고 합니다. 이를 위해 딥러닝은 CNN과 RNN으로 기법을 개발해왔습니다. 이를  뛰어넘은 것이 트랜스포머라는 모델이죠. 이 방법은 어텐션 아키텍쳐를 사용하는 것으로 어텐션은 '문장안에 어떤 단어에 주목하면 좋은가를 나타내는 점수'이고 이 계산은 Query, Key, Value백터를 이용해서 점수를 계산합니다.   그럼 이 책의 핵심인 BERT는 어텐션아키텍처를 사용하는 트렌스포머를 양방향으로 이용하여 파인튜닝을 할수있게 하는 모델입니다. 이들의 구조와  구글코랩의 사용법까지 착실히 익힐 수있게 알려줍니다. 사실 개인이 딥러닝을 할수있는 방법은 구글코랩뿐이 없는 것이 현실이므로  구글코랩은 유료결제라도 해서 좀더 좋은 환경을 만들어야 합니다. 그리고 사용법을 익숙하게 해두어야 하고 그것을 저자는 유도하고 있습니다.  책을 기승전결 구조로 보면 전결이 BERT의 구조와 파인튜닝 그리고 마지막 실제 활용까지 알차게 구성되어 있습니다. 

이 책의 장점은 점층적 설명입니다. 챗터에 요약으로 시작해서 개념설명, 구성설명, 마지막은 요약정리로 마무리를 합니다. 이는 반복의 효과를 볼 수있고 여러번 학습하여 기억하게 했습니다.  그리고 컴퓨터 프로그램 용어는 매우 개념이 어럽고 복잡하고 설명이 길수가 있는데 대도록이면 짧고 그림을 이용해서 핵심만을 설명하고 구현순서를 먼저 알려주고  코드를 이용한 파이썬 코드를 IN,OUT형식으로 설명합니다. 다만 IN코드가 너무 길어서 OUT코드를 보는데 에로점은 있지만 이점도 2챕터정도 따라하다보면 불편하지 않게 됩니다. 여기에 필요한 부분은 공식문서로 URL링크를 해서 추가공부를 할 수있게 배려했습니다.  프로그램책이라 코드를 공부하는 것이 매우 중요한데 그것을 연습장을 마려해서 다시 학습을 합니다. 


Bert는 자연어처리에서 가장 핫한 모델이라고 할 수있습니다. BERT를 익히면서 파이썬과 딥러닝, 자연어처리, 구글코랩사용법과  페이스북이 개발한 파이토치를 사용한 딥러닝까지 익혔습니다.  그리고 BERT를 간단한 단계에서 파인튜닝을 이용한 활용과  일본 데이터셋을 이용해서 모델까지 뽑아내는 단계를 숙지하여 활용할 수있는 수준까지 능력을 올릴수있도록 구성했습니다.  그리고 BERT의 앞부분은 텐서프로가 익숙한 분들은 파이토치를 공부하는 것이 어렵지 않게 학습할 수있을 것이며  딥러닝이 아직 미숙한 분들은 파이토치를 통해 딥러닝의 용어와 프로세서 등을 다시 한번 다질수있는 기회도 됩니다. 이런 전반적 개념이해를 통해 BERT구현을 수월하게 배울 수있었습니다. 

본 도서는 출판사로부터 무상으로 제공받아 주관적인 리뷰를 했습니다. 

YES마니아 : 플래티넘 이달의 사락 x****s 2024.02.07. 신고 공감 1 댓글 0