LLM을 활용한 실전 AI 애플리케이션 개발

허정준님 외 1명
556p

구매 가능한 곳

본 정보의 최신성을 보증하지 않으므로 정확한 정보는 해당 플랫폼에서 확인해 주세요.

저자/역자

목차

[1부] LLM의 기초 뼈대 세우기 1장 LLM 지도 1.1 딥러닝과 언어 모델링 __1.1.1 데이터의 특징을 스스로 추출하는 딥러닝 __1.1.2 임베딩: 딥러닝 모델이 데이터를 표현하는 방식 __1.1.3 언어 모델링: 딥러닝 모델의 언어 학습법 1.2 언어 모델이 챗GPT가 되기까지 __1.2.1 RNN에서 트랜스포머 아키텍처로 __1.2.2 GPT 시리즈로 보는 모델 크기와 성능의 관계 __1.2.3 챗GPT의 등장 1.3 LLM 애플리케이션의 시대가 열리다 __1.3.1 지식 사용법을 획기적으로 바꾼 LLM __1.3.2 sLLM: 더 작고 효율적인 모델 만들기 __1.3.3 더 효율적인 학습과 추론을 위한 기술 __1.3.4 LLM의 환각 현상을 대처하는 검색 증강 생성(RAG) 기술 1.4 LLM의 미래: 인식과 행동의 확장 1.5 정리 2장 LLM의 중추, 트랜스포머 아키텍처 살펴보기 2.1 트랜스포머 아키텍처란 2.2 텍스트를 임베딩으로 변환하기 __2.2.1 토큰화 __2.2.2 토큰 임베딩으로 변환하기 __2.2.3 위치 인코딩 2.3 어텐션 이해하기 __2.3.1 사람이 글을 읽는 방법과 어텐션 __2.3.2 쿼리, 키, 값 이해하기 __2.3.3 코드로 보는 어텐션 __2.3.4 멀티 헤드 어텐션 2.4 정규화와 피드 포워드 층 __2.4.1 층 정규화 이해하기 __2.4.2 피드 포워드 층 2.5 인코더 2.6 디코더 2.7 BERT, GPT, T5 등 트랜스포머를 활용한 아키텍처 __2.7.1 인코더를 활용한 BERT __2.7.2 디코더를 활용한 GPT __2.7.3 인코더와 디코더를 모두 사용하는 BART, T5 2.8 주요 사전 학습 메커니즘 __2.8.1 인과적 언어 모델링 __2.8.2 마스크 언어 모델링 2.9 정리 3장 트랜스포머 모델을 다루기 위한 허깅페이스 트랜스포머 라이브러리 3.1 허깅페이스 트랜스포머란 3.2 허깅페이스 허브 탐색하기 __3.2.1 모델 허브 __3.2.2 데이터셋 허브 __3.2.3 모델 데모를 공개하고 사용할 수 있는 스페이스 3.3 허깅페이스 라이브러리 사용법 익히기 __3.3.1 모델 활용하기 __3.3.2 토크나이저 활용하기 __3.3.3 데이터셋 활용하기 3.4 모델 학습시키기 __3.4.1 데이터 준비 __3.4.2 트레이너 API를 사용해 학습하기 __3.4.3 트레이너 API를 사용하지 않고 학습하기 __3.4.4 학습한 모델 업로드하기 3.5 모델 추론하기 __3.5.1 파이프라인을 활용한 추론 __3.5.2 직접 추론하기 3.6 정리 4장 말 잘 듣는 모델 만들기 4.1 코딩 테스트 통과하기: 사전 학습과 지도 미세 조정 __4.1.1 코딩 개념 익히기: LLM의 사전 학습 __4.1.2 연습문제 풀어보기: 지도 미세 조정 __4.1.3 좋은 지시 데이터셋이 갖춰야 할 조건 4.2 채점 모델로 코드 가독성 높이기 __4.2.1 선호 데이터셋을 사용한 채점 모델 만들기 __4.2.2 강화 학습: 높은 코드 가독성 점수를 향해 __4.2.3 PPO: 보상 해킹 피하기 __4.2.4 RLHF: 멋지지만 피할 수 있다면… 4.3 강화 학습이 꼭 필요할까? __4.3.1 기각 샘플링: 단순히 가장 점수가 높은 데이터를 사용한다면? __4.3.2 DPO: 선호 데이터셋을 직접 학습하기 __4.3.3 DPO를 사용해 학습한 모델들 4.4 정리 [2부 LLM 길들이기] 5장 GPU 효율적인 학습 5.1 GPU에 올라가는 데이터 살펴보기 __5.1.1 딥러닝 모델의 데이터 타입 __5.1.2 양자화로 모델 용량 줄이기 __5.1.3 GPU 메모리 분해하기 5.2 단일 GPU 효율적으로 활용하기 __5.2.1 그레이디언트 누적 __5.2.2 그레이디언트 체크포인팅 5.3 분산 학습과 ZeRO __5.3.1 분산 학습 __5.3.2 데이터 병렬화에서 중복 저장 줄이기(ZeRO) 5.4 효율적인 학습 방법(PEFT): LoRA __5.4.1 모델 파라미터의 일부만 재구성해 학습하는 LoRA __5.4.2 LoRA 설정 살펴보기 __5.4.3 코드로 LoRA 학습 사용하기 5.5 효율적인 학습 방법(PEFT): QLoRA __5.5.1 4비트 양자화와 2차 양자화 __5.5.2 페이지 옵티마이저 __5.5.3 코드로 QLoRA 모델 활용하기 5.6 정리 6장 sLLM 학습하기 6.1 Text2SQL 데이터셋 __6.1.1 대표적인 Text2SQL 데이터셋 __6.1.2 한국어 데이터셋 __6.1.3 합성 데이터 활용 6.2 성능 평가 파이프라인 준비하기 __6.2.1 Text2SQL 평가 방식 __6.2.2 평가 데이터셋 구축 __6.2.3

출판사 제공 책 소개

트랜스포머 아키텍처부터 RAG 개발, 모델 학습, 배포, 최적화, 운영까지 라마인덱스와 LLM을 활용한 AI 애플리케이션 개발의 모든 것 이 책에서는 LLM의 기본 아키텍처에서 출발해 애플리케이션의 요구사항에 맞춰 LLM을 길들이고 제한된 컴퓨팅 환경에서 동작하게 경량화해서 원활하게 서빙하게끔 기초를 다진 다음에 RAG라는 LLM의 대표적인 애플리케이션을 만드는 방법을 차근차근 설명한다. 여기서 끝나지 않고 실제 운영과정에서 부딪히는 어려움을 해소하는 방법과 멀티 모달과 더불어 에이전트와 같은 고급 주제까지 다룬다. LLM 시대를 맞이하여 필수적으로 갖춰야 하는 개발 지식을 이론과 실무 양쪽 관점에서 설명하고 있으므로, 새로운 패러다임에 적응하고자 하는 개발자들에게 가뭄의 단비처럼 다가올 것이다. | 이 책에서 다루는 내용 | - LLM의 핵심인 트랜스포머 아키텍처 - 챗GPT를 만드는 방법: 지도 미세 조정과 RLHF - 오픈소스 LLM을 나만의 데이터로 추가 학습하기 - LLM 애플리케이션 운영을 위한 모델 경량화 - 라마인덱스를 활용한 RAG 구현과 개선 - 이미지와 음성도 처리하는 멀티 모달 LLM - LLM에 장기 기억과 도구를 결합한 에이전트 아키텍처 | 이 책의 대상 독자 | - LLM을 활용해 AI 애플리케이션을 개발하려는 개발자 - LLM API의 단순한 활용보다는 모델의 원리와 기반 기술도 궁금한 개발자 - AI 엔지니어가 되고자 하는 학생 및 취업준비생 - 짧은 시간에 LLM과 관련된 논문과 기술을 정리하고 싶은 대학원생 | 깃허브 실습 코드 다운로드 | 실습 코드는 책의 깃허브 저장소(https://github.com/onlybooks/llm)에서 확인할 수 있습 니다. 깃허브의 코드는 구글 코랩에서 두 가지 방법으로 활용할 수 있습니다. 1. 로컬에서 업로드하기: 깃허브의 코드를 로컬 환경에 클론하거나 압축 파일 형태로 내 려받은 후 진행하려는 실습 폴더의 노트북 파일(ipynb)을 구글 코랩에서 열어 실 습을 진행할 수 있습니다. 2. 깃허브 URL로 열기: 구글 코랩에서 노트 열기(Ctrl+O)를 선택하면 다양한 노트 열기 방식 중 깃허브GitHub 탭에서 코드의 URL을 통해 실습 노트북을 열 수 있습니다. | 이 책의 코드 실행 환경 | 이 책의 실습은 구글 코랩에서 실행한다. 구글 코랩은 구글에서 제공하는 노트북 실 행 환경으로, 파이썬의 주피터 노트북과 유사한 UI로 브라우저에서 실행할 수 있다. 또 구글 코랩에서는 무료로 T4 GPU(16GB)를 사용할 수 있도록 제공한다. 구글 코랩 의 무료 버전은 12시간의 런타임 제한이 있으며, 장시간 사용하지 않으면 연결이 끊길 수 있다. | 이 책의 구성 | [1부 LLM의 기초 뼈대 세우기] 1장 ‘LLM 지도’에서는 대규모 언어 모델이라는 빠르게 발전하고 있는 분야에서 독자들이 길을 잃지 않도록 큰 흐름을 먼저 살펴본다. 1장을 통해 LLM 지도를 얻고 나면 이 책과 LLM에 대해 큰 줄기를 잡을 수 있다. 2장 ‘LLM의 중추, 트랜스포머 아키텍처 살펴보기’에서는 현대 LLM의 기반이 되는 트랜스포머 아키텍처를 알아본다. 트랜스포머 아키텍처는 처음 접했을 때 직관적으로 이해하기가 쉽지는 않지만, 친절한 설명과 함께 코드 레벨에서도 살펴봄으로써 트랜스포머 아키텍처라는 큰 산을 넘어가도록 돕는다. 3장 ‘트랜스포머 모델을 다루기 위한 허깅페이스 트랜스포머 라이브러리’에서는 트랜스포머 아키텍처 기반 모델을 쉽게 활용할 수 있도록 도와주는 허깅페이스의 트랜스포머 라이브러리 사용법을 알아본다. 허깅페이스 트랜스포머 라이브러리는 오픈소스 LLM을 활용할 때 자주 사용되며 이제는 거의 표준에 가까운 라이브러리가 됐다. 3장에서 라이브러리 사용법을 잘 익히고 나면, 다양한 모델을 거의 동일한 방법으로 활용할 수 있다. 4장 ‘말 잘 듣는 모델 만들기’에서는 말을 ‘잘 만들기만 하던’ 언어 모델이 어떻게 사용자의 말을 ‘잘 듣고 지시에 따르는’ 모델로 바뀌었는지 살펴본다. 2022년 11월 공개된 OpenAI의 챗GPT는 사용자의 말을 찰떡같이 알아듣고 사용자의 지시에 따라 응답함으로써 가장 성공적인 AI 제품이 됐다. 4장에서는 OpenAI가 어떻게 챗GPT같이 말 잘 듣는 모델을 만들었는지 살펴본다. [2부 LLM 길들이기] 5장 ‘GPU 효율적인 학습’에서는 LLM처럼 파라미터가 많고 용량이 큰 모델을 작은 GPU에서도 학습시킬 수 있는 방법을 알아본다. 이 책에서 개발 환경으로 사용하는 구글 코랩(Colab)은 무료 버전에서는 메모리가 16GB인 GPU를 지원한다. 모델 자체의 용량만 10GB가 넘는 언어 모델을 어떻게 메모리가 16GB인 작은 GPU에서 학습시킬 수 있는지 5장에서 확인할 수 있다. 6장 ‘sLLM 학습하기’에서는 직접 작은 언어 모델(sLLM)을 실습데이터로 학습시켜 자연어에서 SQL을 생성하는 Text2SQL 모델을 만들어 본다. Text2SQL 모델은 기업에서 자주 발생하는 데이터 추출 요청을 언어 모델이 수행함으로써 데이터 조직의 생산성을 높이고 SQL에 익숙하지 않은 팀원의 데이터 접근성을 높이는 데 기여할 수 있다. 6장에서는 LLM을 통한 학습 데이터의 생성과 LLM미세 조정을 통해 준수한 성능의 sLLM을 만드는 방법을 알아본다. 7장 ‘모델 가볍게 만들기’에서는 언어 모델을 작게 만드는 방법과 효율적으로 추론하도록 만드는 방법을 알아본다. sLLM을 활용하는 경우 대부분의 GPU 비용은 학습이 아닌 서빙에서 발생한다. 따라서 학습시킨 모델을 작게 만들고 효율적으로 추론하도록 만들어서 GPU 비용을 크게 낮출 수 있다. 7장에서는 비용 효율적으로 LLM을 서빙하기 위한 다양한 방법을 살펴본다. 8장 ‘sLLM 서빙하기’에서는 LLM을 효율적으로 서빙할 수 있도록 도와주는 vLLM 라이브러리를 활용해 LLM을 서빙하는 방법을 알아본다. 6장에서 학습시킨 모델을 허깅페이스 트랜스포머 라이브러리로 실행할 때와 vLLM으로 실행할 때의 속도 차이를 확인함으로써 vLLM의 강력함을 확인할 수 있다. [3부 LLM을 활용한 실전 애플리케이션 개발] 9장 ‘LLM 애플리케이션 개발하기’에서는 LLM 애플리케이션을 개발하기 위해 모델 이외에도 다양한 구성요소가 필요하다는 사실을 살펴본다. LLM 애플리케이션은 중심이 되는 모델과 모델에 최신 정보나 조직의 내부 정보를 추가하는 검색 증강 생성, LLM 추론 비용을 줄이는 LLM 캐시, 생성된 결과를 검토하는 데이터 검증 등이 필요한다. 10장 ‘임베딩 모델로 데이터 의미 압축하기’에서는 검색 증강 생성에서 정보를 저장하고 검색할 때 사용하는 임베딩 모델에 대해 알아본다. 임베딩이란 데이터의 의미를 유지하면서 숫자의 배열인 벡터 형태로 변환하는 방법을 말한다. 임베딩 모델을 활용해 텍스트 데이터를 벡터로 변환하면 의미적으로 유사하거나 관련 있는 데이터를 검색해 활용할 수 있다. 11장 ‘자신의 데이터에 맞춘 임베딩 모델 만들기: RAG 개선하기’에서는 10장에서 살펴본 임베딩 모델을 자신의 데이터에 맞춰 미세 조정할 수 있는 방법을 알아본다. 검색 증강 생성을 활용하려는 데이터가 임베딩 모델을 학습할 때 사용되지 않은 기업의 내부 데이터이거나 최신의 데이터라면, 기존에 학습된 임베딩 모델을 활용할 경우 검색 성능이 만족스럽지 않을 수 있다. 그런 경우 임베딩 모델을 자신의 데이터에 맞춰 추가 학습함으로써 검색 성능을 높일 수 있다. 또 검색 쿼리와 검색 문서를 직접 비교해서

본 사이트의 모든 콘텐츠는 왓챠피디아의 자산이며, 사전 동의 없이 복제, 전재, 재배포, 인용, 크롤링, AI학습, 데이터 수집 등에 사용하는 것을 금지합니다.

  • 주식회사 왓챠
  • 대표 박태훈
  • 서울특별시 서초구 강남대로 343 신덕빌딩 3층
  • 사업자 등록 번호 211-88-66013