LLM 으로 어떤 일을 할 수 있을까?
챗 GPT 로 시작된 생성형 AI 시대
영화 아이로봇 에서 윌스미스와 인공지능 로봇의 대화장면이 나온다.
“넌 인간을 흉내 낸 기계야, 로봇이 작곡을 하나? 그림을 그릴 수 있어?”
“당신은요?”
이처럼 컴퓨터는 계산하는 거지, 창의적 작업을 하는건 아니라고 생각했다.
하지만 최근 머신러닝, 딥러닝 기술 덕분에 단순반복에서 시작되어, 그림, 작곡이 가능하게 되었다.
어쩌면 그림, 작곡은 뛰어난 소수의 사람을 제외하고 단순 반복의 작업 이였는지도 모르겠다.
단순반복도 너무 잘해 버리면 장인 이라고 추앙 하는 것처럼, 장인의 가치가 높았는데, 그러한 부분을 기계가 몇일 만에 해버리는 세상이 된 것이다.
아주 사소하게 변화하던 인공지능은 챗GPT를 통해서 대중에게 파격적으로 다가왔다. 일상적 대화가 가능하고, 현재는 앞뒤 맥락을 파악하는 부분은, 사용량 최적화 또는 성능의 이슈로 인해, 극복해야 하는 과제로 보인다.
이것은 인공지능이 완전히 사람처럼 동작하지는 않는다는 증거다. (결국은 그렇게 될거 같지만..)
예를 들어, 사람 A 와 사람 B 는 대화할 때 뇌에 flash memory 에 단시간의 대화를 기억한다. 이것을 지금의 인공지능은 하지 않는다.
즉 질문을 했을 경우, 인공지능은 지금까지의 대화내용을 빠르게 다시 확인하고, 대답 후 기억하지는 않고 사라진다.
클로드는 Memory.md 라는 파일에 대화의 일부분을 저장하도록 되어 있으나, 결과적으로 이것도, 별도 메모를 통해 기록된 파일을 다시 읽고, 대답하면서 맥락을 알고 있는 것처럼 하는 속임수다
왜냐하면 대화에 필요한 텍스트가 많을수록, 인공지능의 연산이 올라가기 때문에, 어떻게든 줄여보려는 것이다.
이것은 앞뒤 맥락을 기억한다는 건 아주 많은 비용이 들어간다는 것을 의미하고, 이것이 우리가 대하고 있는 인공지능이 갑자기 다른얘기 하거나, 맥락과 상관없는 얘기를 하거나, 이해를 못하거나 하는 답답함을 느끼는 순간에 발생되는 이유다.
(하지만 결국은 극복하지 않을까? 사용자 에게 돈을 더 받거나, 효율적 flash memorized 기술이 혁신되거나 하든..)
대규모 언어 모델, LLM 은 무엇일까?
학술적으로 인공지능은 사람의 지적 능력을 모사하는 컴퓨터 기술을 의미한다.
대표적으로 사진의 글자, 과일, 동물을 인식하거나, 사용자의 취향 데이터를 분석하여 상품추천 등을 할 수 있다.
또는 규칙 기반 게임에서 특정 거리에 들어온 적을 추적하거나, 승산을 계산해서 도망가는 것 등에 특화된 인공지능도 있다.
다양하게 정의할 수 있는데, 이중에 생성형 AI 는 새로운 데이터를 생성 한다는 것에 초첨을 두고 있는 인공지능이다.
텍스트를 입력하면 그걸 음성데이터로 변환하거나, 이미지를 생성할 수 있다.
이렇게 사용자가 원하는 것을 알아듣기 위해서 방대한 양의 텍스트 데이터를 학습시켜서 만든 것이 대규모 언어 모델(Large Language Model, LLM) 이다.
즉 사람의 뇌에 해당한다. 우리는 이 모델에게 질문을 하면, 이 모델은 적절한 답변을 한다.
지금 우리가 접하고 있는 챗GPT 와 같은 서비스는 이 대규모 LLM 에게 질문하고, 그것에 응답을 받는 것이다.
LLM 은 주어진 질문에 적합한 답변을 예측하는 과정을 거친 후, 사용자에게 전달한다. 즉, 질문이 올때마다 지금까지의 텍스트를 모두 파악 후, 확률적으로 적합한 답변을 만들어서 사용자에게 전달한다.
이것은 확률이기 때문에, 적절한 정보가 아니여도, 확률높은 답변을 하는데, 이것이 반드시 맞는 답변은 아니다. 왜냐하면 확률이기 때문이다.
이렇게 맞지 않은 정보를 맞는 정보처럼 전달하는데 이것을 환각(hallucination) 이라고 한다.
정확한 답변을 했다고 가정하더라도 문제가 있다. 해당 학습에 포함된 정보가 만약 시간이 흘러 틀린 정보가 된다면, 이 인공지능은 학습한대로 제대로 답변했지만, 잘못된 정보를 전달하는 셈이 된다.
(학습된 정보만 가지고 있고, 외부정보를 학습 못한다는 의미다.)
정리하면, 인공지능은 학습 후 재학습을 자동으로 못하고, 추가 강제학습을 주입 해야만 가능하다는 것이고, 답변을 추정하는 과정에서 잘못된 답변을 선택하는 상황이 발생한다.
(마케팅을 아주 나이스 하게 하다보니, “너 이거 기억해!” 라고 하면 인공지능은 “응 알겠어” 라고 학습된다고 생각하는데, 전혀 그런것이 아니다.)
LLM 종류
오픈AI 에서 개발한 GPT, 구글이 개발한 제미나이, 메타에서 개발한 라마, 앤트로픽 클로드, 중국의 딥시크 등 대중에게 알려진 LLM 들은 버전업 하면서 서로의 성능을 경쟁하고 있다.
이들은 범용 능력을 탑재하는데 목적이 있는거 같고, 글쓰기, 번역, 요약, 코딩, 이미지, 비디오, 음성 등등 멀티모달 모델 의 방향성을 가지고 있다.
LLM 을 활용한 생성형 AI 서비스의 종류
두뇌에 해당하는 LLM 을 이용해서 서비스들이 생기고 있다. 이미지생성 달리, 영상생성 소라, 검색엔진 퍼블렉시티 등.. 다양한 서비스들이 개발되고 있다.
LLM 을 왜 공부해야 할까?
LLM 프로그래밍 경험이 필요한 이유
미래가 어떻게 될지는 알 수 없다. 하지만 확실히 디지털 작업들에 대해서 사람이 할 일을 대체할 것은 명백하고, 나 또한 디지털 작업자 중에 하나다.
하지만 죽을수는 없지 않는가.. 내가 지금 갑자기 다른 직업 으로 전환 하거나, 자영업자가 되는 것은, 새로운 것을 처음부터 하는 것이라 쉽지 않다고 생각하고, 하던 일을 확장하는 것이 그나마 생존확율이 높다고 생각한다.
이 책은 정확하게 “LLM 공부를 하면, 당신은 이런 사람이 될 것입니다.” 라고 해주지는 않는다. 누가 알겠어.. 인류가 처음 겪는 것인데
이 책의 저자는 AI 의 장점, 한계등을 파악하며 AI 에이전트 개발에 필요한 지식을 전하는 것이 목적이라고 하는거 같다..
또는 기존 서비스를 사용할 떄 인공지능에 대한 이해를 통해 더 잘 사용할 수 있다고 한다..
그냥 돈벌려고 쓴거 같다. 예의상 한 단락 쓴거 같아서 의미는 없어 보인다.
어떤 언어 모델을 선택해야 할까?
챗GPT, 코파일럿, 클로드 등, 다양한 서비스에서 API 를 제공한다. 물론 호출횟수에 따라 과금된다. 돈이 많다면 이거 쓰고, 다른 선택지가 있다.
내가 그래픽카드가 있다. 그럼 내 PC 에 ollama 를 설치해서 공부 목적으로 사용해 보는 것을 추천한다.
그럼 내 로컬에 ollama 는 api 를 제공해 주기 때문에, 연동하면 된다.
LLM 의 한계를 보완하는 기술 6가지
내 생각엔 이 챕터는 이게 가장 중요하다. 이걸 통해서 인공지능이 영화에서 보던 그 로봇이 아니라는 것을 확실히 알 수 있다.
프롬프트 엔지니어링
언어 모델의 답변을 최적화하기 위해 하는 일련의 작업이다. 예를 들어 “쓸데없는 중복답변은 하지마” 라던지.. “칭찬같은 감정적 단어는 자제해” 라던지 등.
예를 들어 전화상담 AI 라고 하면, 그에게 어떤 답변을 하는지에 대한 단서를 줄 수 있고, 성격, 어투 등도 지정이 가능한데, 이러한 일련의 정체성 주입 과정이다.
주입하는 방식이 강제주입도 있고, 참조주입도 있는거 같은데, 가이드라인이 있는거랑 없는거는 확실히 응답이 달라진다.
물론 답변 시 그 텍스트를 읽어야 하기 때문에, 토큰사용량 (답변생성에 드는 비용) 은 증가한다.
근데 이게 무에 소용인가 싶기도 한게, 사람이 가이드라인 안줘도 잘 동작하도록 발전할 거라고 보기 때문에, 지금은 유효하나, 사라질 것으로 보인다.
파인 튜닝
특정 분야의 전문지식, 특정 언어등을 이미 학습된 언어모델에 추가 데이터를 학습시키는 기법이다. 전체모델은 처음부터 학습하는 방식이 아니라서 시간과 비용이 적고, 특정분야에 최적화가 가능하다.
파인튜닝을 하기위해 필요한 하드웨어/소프트웨어는 넘사벽이라, 개인 PC 에서는 못하니깐 이 파트는 다루지 않는다고 한다.
RAG
LLM 에게 올바른 답변을 위해서 연산하는 과정에 정보를 추가 확장한다.
예를들어 회사소개.pdf 를 제공하고, 어떠한 질문에 대해서 회사소개.pdf 를 참조해라 라는 것이다.
펑션 콜링과 도구 호출
이것 또한 LLM 에게 정보탐색의 범위를 넓혀주는 기법이고, 현재 시간, 위치, 날씨, 주가 같은 것들을 펑션콜림, 도구호출 등으로 정보탐색을 보완하는 기법이다.
랭체인
LLM 을 활용한 애플리케이션을 개발할 수 있는 개발 프레임워크다.
RAG, 펑션콜림, 도구호출 등을 개발하도록 만들어진 프레임워크로 추정하고, 이것에 대한 학습이 이 책의 본질이다.
랭그래프
인공지능을 멀티구성 가능하도록 구성하는 프레임워크 라고 한다. 기획자, 디자이너 등 역할을 나누어서 목표에 도달하기 위한 구성을 하려면 이러한 프레임워크가 필요하다고 한다.
나의 뇌(CPU) 로 최대한 쉽게 이해하려고 해봤고, 죽을 수 없으니 살자! 열심히 해보자!