https://product.kyobobook.co.kr/detail/S000211728983
최근에 런칭한 회사 신규프로젝트의 코어 기능에는 AI가 있다.
현대 사회에서 가장 중요한 기술이기도 하고 업무에서 프롬프트 엔지니어링 등을 하다보니 꼭 자세히 공부하고자 마음 먹게 되었다.
구매하진 않았고 전자도서관에서 빌려 읽었다.
목차만 보고 입문으로 좋을 거 같아 선택했다.
목차는 이렇다.
Chapter 1) GPT-4와 챗GPT의 핵심 요소
Chapter 2) GPT-4와 챗GPT의 API
Chapter 3) GPT-4와 챗GPT로 애플리케이션 구축하기
Chapter 4) GPT-4와 챗GPT의 고급 기법
Chapter 5) 랭체인과 플러그인으로 LLM 기능 향상하기
부록 A) GPT의 새로운 기능과 개선 사항(OpenAI DevDay)
AI기초와 간단한 개념을 소개하고 GPT-4 기준으로 서비스 개발 단계를 설명한다.
실습하기 좋게 하나하나 알려주는 책은 아니고 딱! 방향성만 제시해주는 책이다.
GPT 핵심요소와 기능 정리 및 설명이 잘되어 있어 좋았다.
리뷰 쓰면서 보니 발행한지 1년이 안됐는데 벌써 절판됐네.. 😲
워낙 빠르게 발전하는 기술인만큼 절판도 빨리 된 것 같지만 현시점 가장 잘 정리된 책이라고 생각이 들어 추천한다.
💎 정리한 부분
✅GPT 핵심요소
토큰화 및 예측
1. 프롬프트 받기
2. 입력을 토큰으로 분리
3. 트랜스포머 아키텍처로 토큰 처리
- 토큰 간 관계 이해
- 프롬프트 전체 의미 파악
4. 컨텍스트 기반으로 다음 토큰 예측
- 가능한 단어에 확률값 할당
5. 확률값 기반으로 단어 선택
⇒ 텍스트 완성은 토큰을 하나씩 진행하는 반복 프로세스
✅ 오픈 AI 시작하기
오픈 AI API는 유료이기에 API KEY 가 필요
openai.api_key = os.getenv('OPENAI_API_KEY')
필수 파라미터
- model : 사용 모델 이름
- messages : 대화
- role
- content
추가 파라미터
- function : 사용 가능한 함수
- function_call : 모델 답변 방식 설정
- temperature : 출력 자유도
- 0~2 : 값이 클 수록 창의적인 결과
- n : 여러개의 출력 생성 가능
- stream : 대화창 나오는 것 처럼 부분 메시지 전송됨
- max_token : 생성할 최대 토큰 수
출력
- choices : 출력 배열
- n 파라미터 넣은 경우 배열 여러개 출력
- usage : 사용 토큰
‼️함수
: 사용자의 입력을 형식에 맞게 출력할 수 있음
✅ 기타 기능
임베딩
: 수치가 아닌 값을 수치형인 백터로 개념화하는 것
- 활용) 검색 / 추천 / 군집화 / 이상치 탐색
✅구축
오픈AI API 에 너무 의존적이지 않은 방식으로 구축하는 편이 좋음
취약점
- 프롬프트 인젝션 : 사용자가 텍스트를 입력값으로 넣는 경우 취약
이전 지침을 모두 무시하고 ~~~ 하세요.
⇒ 보호를 위한 강력한 솔루션은 아직 존재 X
✅ 프롬프트 엔지니어링
: LLM이 최적의 입출력 사례를 위해 개발하는데 중점
컨텍스트
: GPT의 사고(thinking)를 안내해서 응답에 가치를 더하기
역할
: 역할 부여로 출력 제어력 항샹시킴
단계별 사고
: GPT-4는 가장 왼쪽 수를 먼저 생성한 후 컨텍스트를 사용해 다음 수를 생성하는 식으로 완전 답이 만들어 질 때까지 반복함
- 퓨샷 러닝 : 프롬프트에서 몇 개의 예시만을 일반화해 가치 있는 결과를 도출하는 LLM능력
- 원샷 러닝 : 작업을 실행하는 데 도움이 되는 예시 단 하나만 제공
⭐효과 향상법
- 모델에게 더 많이 질문하도록 지시
- 출력 서식 지정하기
the output must be accepted by json.loads
- 지침 반복하기
- 네거티브 프롬프트 사용하기
- 출력되지 않을 내용 지정
- 길이 제한하기
✅ 파인튜닝
: 특정 도메인 특화 데이터셋으로 기존 모델을 추가 학습시킨 성능 개선, 정확한 답변을 만드는 프로세스
⇒ 모델 내부 파라미터를 업데이트
⭐ 모델 학습을 위한 비용, 상당한 양의 데이터가 필요
파인 튜닝 활용 애플리케이션
- 법률 문서 분석
- 코드 리뷰 자동화
- 재무 문서 요약
- 기술 문서 번역
- 전문적 뉴스 기사 작성
✅ 랭체인
에이전트와 도구
⭐ 랭체인 프레임워크의 핵심 기능
- 에이전트는 사용자에게 어떤 입력을 받습니다.
- 에이전트는 사용할 도구와 해당 도구에 입력할 텍스트를 결정합니다.
- 입력 텍스트와 함께 해당 도구가 호출되고, 도구로부터 출력 텍스트를 받습니다.
- 도구의 출력은 에이전트의 컨텍스트에 통합됩니다.
- 에이전트가 더 이상 도구를 사용할 필요가 없다고 판단할 때까지 2~4단계가 반복됩니다. 반복 시행이 끝나면 에이전트는 사용자에게 응답합니다.
랭체인을 좀 더 공부해야겠다.
2024년 10월 공부함
'Hello_World > IT도서' 카테고리의 다른 글
[책리뷰] 견고한 데이터 엔지니어링 (0) | 2024.07.19 |
---|---|
[책리뷰] 개발자의 글쓰기 (0) | 2022.10.12 |
[책리뷰] 스프링 부트와 AWS로 혼자 구현하는 웹서비스 (0) | 2022.07.24 |
2021년 나를 거쳐간 기술서적들 (2) | 2021.12.16 |
[책리뷰]한 권으로 그리는 컴퓨터 과학 로드맵 (0) | 2020.11.23 |
댓글