최근 수업 중 머신러닝과 패턴인식 수업을 들으면서 자연스럽게 AI에 대한 관심이 생기고 있다.
그러다보니 LLM도 궁금해지고 있는데 내가 GPT-4를 사용하고 있으면서도 LLM에 대한 이해가 굉장히 낮았다.
그 때문에 비싼돈을 내고 GPT 유료결제를 하고서도 뭔가 잘 이용하지 못한다는 생각이 들었고
프롬프트 엔지니어링이나 GPTs를 잘 사용하고 싶어졌다.
또한 현재 개발하고 있는 어플에도 임베딩을 활용한 기능을 넣는다면 어떨까? 하는 생각이 들어서 GPT-4를 활용한 인공지능 앱 개발 책을 선택하게 되었다.
목차만 보았을 때는 더할 나위 없이 좋은 책이었지만 내용은 내 생각과 조금 달랐다.
우선 생각보다 GPT-4를 활용한 인공지능 앱 개발 책이 두껍지 않았는데 이 안에 LLM에 대한 내용들과 GPT에 관한 내용이 있다고? 했지만
정말 모두 들어있긴 했지만 생각보다 깊이가 얕았다.
개념 위주의 설명이 아닌 실습과 바로 응용할 수 있는 내용이 중심이라 내 기대와는 맞지 않았지만
상당히 흥미롭게 읽게 되었고 바로 내 어플에도 적용할 수 있을정도로 상세한 설명이 있었다.
OREILLY 책들은 항상 표지가 이상해서 궁금했는데 이런뜻이.. 환경보호 합시당
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)
내가 GPT-4를 활용한 인공지능 앱 개발 책에서 사실 제일 궁금했던 부분은 Chapter3과 Chapter4의 부분이었는데
프롬프트 엔지니어링과 학습시키는 방법을 활용하여 어플을 만드는 부분이었다.
그부분은 쉽게 이해할 수 있어서 좋았다.
얼마나 자세하게 설명되어 있는지 보면 위의 사진을 봤을 때 홈페이지에 들어가서 로그인 / 회원가입까지 설명해준다.
보통의 코딩 책들은 불친절해서 대충 여기 사이트 들어가서 하시면 돼요~ 하는데 이부분은 되게 좋았고
AI부분에서 초심자나 다름이 없는 나도 쉽게 따라할 수 있어서 좋았다. (물론 돈은 내가 내야함)
그리고 대부분의 설명이 코드를 중심으로 이 코드를 왜 사용했는지! 와 같아서
좋게 말하면 바로바로 응용할 수 있고 나쁘게 말하면 이해없이 코드만 따라치게 될 수도 있다.
하지만 이건 어느 책을 보더라도 마찬가지인 부분…
이렇게 간단한 내용까지 친절하게 설명해주시는 GPT-4를 활용한 인공지능 앱 개발 저자님 ㅎㅎㅎ
젤다를 즐겁게 했던 사람으로써 굉장히 흥미롭게 읽었다.
단순히 pdf를 이용해서 gpt를 학습 시킨 다음에 정보를 물어본다! 라고 했다면 재미가 없었을 것 같은데
이렇게 흥미롭게 구성한 부분이 좋았다.
조금 부끄럽지만 머신러닝과 딥러닝, 트랜스포머의 차이를 제대로 알고있지 않았는데 이번 기회에 다시 찾아보았다.
AI가 제일 큰 범주이고 머신러닝이라는 것은 컴퓨터가 데이터를 통해 학습하고, 패턴을 인식하며, 결정을 내릴 수 있도록 하는 기술이다.
그중 딥러닝은 특히 뉴럴 네트워크를 사용하여 사람의 뇌 구조 처럼 학습하는 것을 말하는 것이었다.
흔히 알고 있는 것처럼 GPT는 문장을 만들어 내는 것이 아니라 이 단어 뒤에 어떤 단어가 나올 확률이 가장 높은지를 판단하는 것이다.
그렇기 때문에 이상한 대답을 할 수도 있고 새로운 답을 아무렇지도 않게 만들어 낼 수도 있다.
GPT-4를 활용한 인공지능 앱 개발 책에서는 이 부분을 자세히 다루어 주어 이해하기가 쉬웠다.
토큰별로 진행되는 것을 이용하는 임베딩까지도 이해가 될 수 있었고
AI 할루시네이션이 완전히 이해됐다는 점이다!!
옛날부터 GPT의 밈이 되었던 내용들이 있는데 이런식으로 잘못된 정보를 마치 맞다는 것처럼 알려주는 것이다.
13456*12345 와 같은 매우 복잡한 계산도 제대로 하지 못하는 모습을 보여주는데
이건 gpt가 토큰 단위로 다음 단어를 ‘예측‘ 하는 것이기 때문에 실제 제대로 된 정보가 아니더라도 보여준다는 건데
이 책의 내용처럼 2 + 2 = 4 를 맞추는 것은 실제로 ‘계산’하는게 아니라 문자적으로 ‘2 + 2 = 4’라는 문장을 많이 학습했기 때문이다..!!!
나도 GPT-4를 사용하면서도 이런 경우를 많이 겪었고
코딩을 물어볼때에도 항상 이상한 대답을 하는 경우가 많았는데 이제야 이해가 되었다.
LLM이 내 코드를 ‘이해’하고 ‘수정’하는 것이 아니라 단순히 학습되어 있는 내용중 내 코드와 가장 비슷한 내용을 알려주기 때문이라는 결론이었다.
그러면 이것을 어떻게 해결하지?
내가 GPT의 생각회로를 따라가본다면 이걸 해결할 수 있을 것이다.
GPT-4를 활용한 인공지능 앱 개발 책의 저자는 “Let’s think Step by Step” 이라는 프롬프트를 사용하라고 한다.
한국어로 하면 단계별로 생각해보자 정도가 되겠지?
이렇게 되면 GPT가 순서대로 작은것부터 큰 순서대로 생각하게 되어 제대로 된 답을 출력한다고 한다.
이를 제로샷 CoT(Chain of Thought) 라고 부르는데 모델이 단계별 추론을 하도록 유도한다.
이를 이어서 바로 프롬프트 엔지니어링 내용을 확인한다면 같은 질문을 했을 때 이 프롬프트에 따라서 대답이 천지차이이고
내가 원하는 답을 얻기위해 수많은 질문을 하지 않아도 되기 때문에 정말정말 유용하고 내가 필요한 것이었다.
프롬프트를 짤때에는 역할, 컨텍스트, 작업 부분이 필요하게 되는데
전에 내가 주워들었을 때 ‘너는 훌륭한 개발자야’ 라는 역할을 부여하기만 해도 코드 관련 대답이 매우 향상된다고 했다.
역할은 말그대로 어떤 역할로 대답을 할지 정해주는 것
컨텍스트는 질문을 해석하고 대답하는데 필요한 배경정보나 상황을 주는 것
작업은 특정 목표나 요구사항을 적는 것이다. (명확하고 구체적)
평소 gpt를 사용할 때는 작업 부분만 넘겨주기 때문에 GPT가 어떤 상황인지 잘 몰라 좋은 대답을 주지 못한 것이라는 생각이 들었다.
여러가지 프롬프트를 직접 짜보면서 공부해봐야 겠다.
제로샷 러닝, 원샷 러닝, 퓨샷 러닝에 대해서도 처음 알게되었는데
샷은 말그대로 학습 예시를 말한다.
제로샷은 GPT 있는 그대로 사용하는 것으로 일반적인 데이터를 얻을 수 있지만 내가 원하는 데이터가 아닐 수 있고
원샷 러닝은 한개의 예시를 주고 대답을 유도한다.
퓨샷 러닝은 여러개의 예시를 주고 대답을 유도하는데 예시가 많을 수록 좀더 정확하고 내가 원하는 대답이 나올 수 있다.
특히 많이 들어보았던 ‘파인튜닝’은 GPT 모델을 가지고 나만의 모델을 만드는 것인데
내가 회사에서 사용하기 위한 빅데이터를 가지고 있을 때 파인튜닝하여 마치 나만의 LLM을 만드는 것이다.
이건 물론 돈은 많이 들것 같다. 하지만 내가 큰 기업이라면 충분히 사용할 가치가 있지 않을까 했다.
내가 예상 했던 LLM의 이론적 내용은 많지 않았지만
오히려 실습과 함께 보니 이해가 더 쉬웠고 궁금한 개념들은 직접 찾아보면서 읽으니 좋았다.
AI를 처음 접하는 사람들이 GPT-4로 어플 만들고 싶다면 GPT-4를 활용한 인공지능 앱 개발 책이 딱 좋을 것 같다.
이미 전문가라면 그닥 필요 없을 것 같기도 하다.
“한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.”
비전공자도 배울 수 있는 타입스크립트 자바스크립트는 이상하게 정이안가는 언어중에 하나이다. 분명 web을 처음 시작했을 때…
IT 엔지니어를 위한 AWS 운영의 기본과 노하우 선택한 이유 AWS는 정말 공부해야지 공부해야지... 하면서도 쉽게…
개발하는 남자의 핸즈온 플러터 최근 계속해서 플러터를 개발할 일들이 많은데, 워낙 가지고 있는 강의들은 많은데…
갑자기 독스헌트 사업계획서? 아직 거창한 사업계획서를 쓸일은 없지만, 최근 진행하는 프로젝트의 지원금을 받을 수 있을까…