AI 프로그램 개발을 위한 제대로 된 입문서
디테일과 다양성의 두 마리 토끼를 모두 잡은 진짜 제대로 된 AI 프로그램 입문서이다. 기존에는 텍스트 위주의 임베딩 모델과 LLM 기반의 프롬프트 엔지니어링으로 검색, 분석, 요약, 번역 위주로 작업했다. 최근 LLM 모델이 멀티모달을 지원하게 되면서 이미지, 음성인식, OCR, 영상 등 다양한 AI 서비스의 구현 방법에 관해 궁금증이 많았는데, 이 책이 그 모든 궁금증을 완벽하게 해결해 주었다. 특히 책에서는 오픈AI의 상세한 모델 설명과 가격, 음성 인식 모델과 이미지 생성의 거의 모든 옵션을 다루고 있다. 이 책은 노코드 위주의 챗GPT를 다루는 책(캔버스, 프로젝트, GPTs)이 아니다. 실습 위주의 오픈AI API와 허깅페이스, nltk, pandas, numpy, langchain, autogen을 다루는 책이다. 오해하지 않았으면 좋겠다.
[추천 독자]
생성형 AI 프로그래밍 입문자 및 개발자
자연어 처리뿐만 아니라 음성 인식과 이미지 처리까지 배우고 싶은 분
파인 튜닝으로 도메인에 특화된 모델을 만들고 싶은 분
[키워드]
#AI #생성형AI #오픈AI #챗GPT #DALL-E #GTP-4o #GPT-4o-mini #위스퍼 #TTS #CLIP #챗봇 #프롬프트엔지니어링 #퓨샷 #멀티모달 #임베딩 #제로샷 #파인튜닝 #문맥유지 #이미지생성 #RAG #오토젠 #멀티에이전트 #AI에이전트 #플레이그라운드 #트랜스포머 #streamlit #스트림릿 #랭체인
[특징]
오픈AI 모델의 종류와 가격 정보, API 옵션 정보까지 표로 세세하게 잘 설명되어 있다.
API 개념을 시작으로 기본 대화 생성 API, 음성 <-> 텍스트 변환, 이미지 <-> 텍스트, 파인 튜닝의 실습자료를 포함하고 있다.
스트림릿 기반의 웹 앱 서비스, RAG, 오토젠을 활용한 AI 에이전트 내용을 포함하고 있다.
API의 기본 사용법 예제와 선호하는 커피 예측하기, 뉴스 기사 분류하기, 상담 챗봇 구현하기등의 심화 예제도 포함되어 있다.
[책의 구성]
이 책은 7개 PART, 21개 장과 6개의 부록으로 구성되어 있다.
PART 1 "오픈AI와 챗GPT 제대로 이해하기"는 총 5개의 장으로 구성되어 있으며,
1장 "생성형 AI 서비스"에서는 생성형 AI 모델의 아키텍처를 간략히 설명하고 챗GPT를 비롯하여 클로드, 제미나이, 스테이블 디퓨전, 그록, 소라, 런웨이와 같은 생성형 AI 서비스를 소개한다.
2장 "오픈AI와 챗GPT"에서는 오픈AI 역사와 트랜스포머 모델을 설명한다.
3장 "개발 사전 준비"에서는 구글 코랩 사용 방법과 API의 개념, 오픈 AI KEY를 얻는 방법, 실습을 통한 사용 방법, API 사용량 및 요금 확인 방법을 설명한다.
4장 "오픈AI API 활용 첫걸음"에서는 GPT-4o mini 모델로 대화를 생성하는 프로그램을 생성하고, API의 구성요소에 대하여 설명한다.
5장 "오픈AI API 모델 탐색하기"에서는 오픈AI의 모델과 특징, 가격 정보를 소개한다.

<5장 오픈AI API 모델 탐색하기, p94~p95>
PART 2 "오픈AI GPT 대화 생성 실전 가이드"는 2개의 장으로 구성되어 있다.
6장 "대화 생성의 고급 기술"에서는 temperature, top_p, frequency_penalty, presence_penalty와 같은 옵션을 설명한다.
7장 "GPT 모델의 성능을 극대화하는 프롬프트 엔지니어링 기법"에서는 프롬프트 엔지니어링의 개념과 다양한 프롬프트 엔지니어링 기법을 설명한다.

<7장 GPT 모델의 성능을 극대화하는 프롬프트 엔지니어링 기법, p134~p135>
PART 3 "음성 및 이미지 인식: 위스퍼와 CLIP의 실전 활용"은 4개의 장으로 구성되어 있다.
8장 "위스퍼 음성 인식 기초"에서는 음성 데이터를 텍스트로 변환하는 위스퍼의 기본 개념과 사용법을 설명한다.
9장 "위스퍼 텍스트 변환 최적화 기법"에서는 오픈AI의 음성-텍스트 API의 사용법을 알아보고, 텍스트 변환의 성능을 높일 수 있는 방법에 관해 살펴본다.
10장 "오픈AI TTS를 활용한 음성 변환"에서는 텍스트를 음성으로 변환하여 mp3를 생성하는 방법을 설명한다.
11장 "오픈AI CLIP을 사용한 이미지 분류"에서는 오픈AI에서 개발한 CLIP 모델 소개와 허깅페이스의 CLIP모델을 사용하여 이미지를 텍스트로 변환하는 과정을 실습한다.

<11장 오픈AI CLIP을 사용한 이미지 분류, p198~p199>
PART 4 "생성형 AI를 활용한 이미지 제작과 편집 기술"은 3개의 장으로 구성되어 있다.
12장 "DALL·E로 이미지 생성하기"에서는 오픈AI의 'DALL·E' 모델 소개와 자연어로 이미지를 생성하는 다양한 방법을 실습한다.

<12장 DALL•E로 이미지 생성하기, p222~p223>
13장 "DALL·E로 이미지 편집하기"에서는 이미지를 입력하여 자연어로 이미지를 편집하는 내용을 실습한다.
14장 "다른 이미지에서 영감 얻기"에서는 원본 이미지를 입력하여 다양화하는 방법을 실습한다.
PART 5 "임베딩: 복잡한 데이터를 쉽게 이해하는 방법" 3개의 장으로 구성되어 있다.
15장 "임베딩 소개"에서는 임베딩의 의미와 검색, 클러스트링, 추천, 이상 탐지와 같은 사용 사례와 서비스을 소개한다.
16장 "텍스트 임베딩 활용 방법"에서는 텍스트 임베딩과 코사인 유사도의 개념을 설명하고, 오픈AI의 임베딩 모델을 사용하여 실습한다.

<16장 텍스트 임베딩 활용 방법, p269~p261>
17장 "고급 임베딩 예제"에서는 3개의 실용적인 프로젝트로 임베딩의 사용 사례를 설명하고 평가하는 방법까지 설명한다.
PART 6 "파인 튜닝과 모델의 실전 활용"은 4개의 장으로 구성되어 있다.
18장 "퓨샷 학습 이해하기"는 퓨삿 학습의 정의와 개념을 설명하고, 퓨샷 학습으로 모델의 성능을 향상하는 이점에 관해 설명한다.
19장 "파인 튜닝의 이해 및 구현"에서는 실제로 파인 튜닝과 최적화를 실습한다.
20장 "파인 튜닝 고급 예제: 정신 건강 코치"에서는 허깅페이스의 데이터셋을 사용하여 파인튜닝을 진행하고 제약점을 살펴본다.
21장 "기억력 및 문맥 문제와 해결책"에서는 AI 프로그램에서 기억력과 문맥 문제를 살펴보고 해결법을 설명한다.

<21장 기억력 및 문맥 문제와 해결책, p388~p389>
PART 7 "부록"은 6개로 구성되어 있다.
부록 A "챗GPT 및 클로드 실습"에서는 생성형 AI를 사용하여 코딩 공부, 크롬 확장 프로그램의 유튜브 영상 요약, 데이터 분석, 오픈AI의 GPTs 소개와 구현방법을 살펴본다.
부록 B "오픈AI 플레이그라운드 실습"에서는 오픈 AI의 플레이그라운드 소개와 3개의 주제로 플레이그라운드를 실습한다.
부록 C "건강 상담 챗봇 구현하기"에서는 스트림릿으로 챗봇 웹 앱을 구현한다.
부록 D "작가 스타일 이미지 생성 앱"에서는 스트림릿으로 지정한 특정 작가 스타일로 이미지를 생성하는 웹 앱을 구현한다.
부록 E "RAG로 노트북 추천받기"에서는 RAG 소개와 랭체인을 활용한 RAG를 구현한다.
부록 F "오토젠을 활용한 AI 에이전트 이해하기"는 마이크로소프트에서 개발한 AI 에이전트 프레임워크인 오토젠을 소개하고 멀티 에이전트를 구성하는 방법을 실습한다.

<부록F 오토젠을 활용한 AI 에이전트 이해하기, p494~p495>
[인용] - 파라미터의 참신한 비유 설명
반복 제어(frequency_penalty): '노래 반복' 버튼이라고 생각해 보세요. 높은 값으로 설정하면, 같은 노래를 다시 재생하지 않겠다는 의미입니다. 낮은 값이나 음수로 설정하면, 같은 노래나 그 변형을 더 자주 재생해도 괜찮다는 뜻입니다.
다양성 제어(presence_penalty): 이는 '장르 섞기' 버튼과 같습니다. 높은 값으로 설정하면 새로운 장르의 음악을 재생하고 싶다는 뜻입니다. 낮은 값이나 음수로 설정하면 현재 재생 중인 장르에 머물면서 새로운 장르로 확장하지 않겠다는 의미입니다.
...
이러한 파라미터는 모델이 익숙한 토큰을 얼마나 자주 사용할지나 새로운 방식으로 자신을 표현할지를 결정합니다.
6장 대화 생성의 고급 기술, p114~p115
[소감]
대화 생성 API를 비롯하여 음성 인식, 이미지 생성, 스트림릿을 활용한 웹 앱 챗봇, 파인 튜닝, RAG, 오토젠을 모두 다루는 책을 만나는 것은 이 책이 유일하다고 생각한다. 비록 파이썬 위주로 구성되어 있지만, 결국에는 오픈AI의 API와 SDK를 설명하고 있기 때문에 Nodejs, C#, Java 개발자에게도 충분히 도움이 될 것이다. 앞에서 언급한 언어로 오픈AI에서 SDK를 제공하기 때문이다. 운이 없게도 이 책이 출시된 이후 곧바로 오픈AI에서 gpt-4.1, o4-mini를 출시했으며, 곧 gpt-4.5가 나올 것이다. 그럼에도 우리는 책에서 설명한데로 현명하게 모델을 선택할 수 있으며, 책에서 설명한 개념은 변경되지 않을 것이다.