LLM 기본3 - LLM 애플리케이션을 개발하기 위해 필요한 핵심 개념

1. 지식 사용법을 바꾼 LLM

 

LLM이 사회에 큰 영향을 미치고 있는 이유는 하나의 언어 모델이 다양한 작업에서 뛰어난 능력을 보이기 때문

 

기존에는 언어에 대해 다루는 AI 분야인 자연어 처리 분야를 크게 언어를 이해하는 자연어 이해,

 

언어를 생성하는 자연어 생성의 두 분야로 접근했다.

 

etc-image-0

 

 

또 각각의 영역에서 일부 좁은 영역의 작업을 해결하기 위해 별도의 모델을 개발하는 방식으로 문제에 접근했다.

 

하지만 LLM의 경우 언어 이해와 생성 능력이 모두 뛰어나다.

 

처음부터 자연어 생성을 위한 모델이므로 언어 생성 능력이 뛰어나고

 

모델의 크기가 커지면서 언어 추론 능력을 포함한 언어 이해 능력마저 크게 높아졌다.

 

지시 데이터셋으로 사용자의 요청에 응답하는 방식을 학습하면서 다양한 작업에 적절히 응답하는 능력도 갖췄다.

 

이러한 부분이 이전까지의 자연어 처리 모델과 뚜렷이 구분된다.

 

이러한 '다재다능함'은 왜 중요한가?

 

사람이 하는 일 대부분은 언어 이해와 생성을 함께 필요로 하고, 여러 작업이 복합적으로 섞여 있기 때문이다.

 

etc-image-1

 

 

 

etc-image-2

 

 

기존의 자연어 처리 접근 방식에서는 이러한 복합적인 작업을 수행하기 위해 언어 이해 모델과 언어 생성 모델을 각각 개발해 연결했다.

 

많은 모델을 개발하고 연결할수록 시스템의 복잡도가 높아지고 관리가 어려워진다.

 

하지만 LLM을 활용하면 하나의 LLM만으로 이 작업들을 수행하도록 만들 수 있다.

 

복잡도가 훨씬 낮아져서 더 빠르게 다양한 작업에 AI를 활용할 수 있다는 장점이 있다

 

etc-image-3

 

 

 

etc-image-4

 

 

LLM의 이런 다재다능함을 이용하면 사용자가 LLM을 통해 검색한 정보가 요약되고 쉽게 해설된 결과를 통해

 

지식을 비교적 쉽게 습득하고, 습득한 지식을 더 빠른 시간 안에 새로운 결과물로 조합해낼 수 있다

 

LLM은 우리가 기존에 지식을 습득하고 활용하던 모든 측면에 영향을 줄 수 있어 이전의 AI 모델보다 사회에 미치는 영향이 더 크다.

 

또한 대부분의 지식 노동자가 수행하는 작업이 언어의 이해와 생성을 모두 포함해서 자동화하기 어려웠는데

 

LLM은 이해와 생성 능력이 모두 뛰어나, 비교적 간단한 작업에서는 사람을 완전히 대체할 수 있어 많은 기대와 우려를 받고 있다.

 

 

2. 더 작고 효율적인 모델 sLLM

 

LLM 애플리케이션을 개발할 떄는 크게 두 가지 방법이 있다.

 

첫번째는 OpenAI의 GPT-4나 구글의 제미나이 같은 상업용 API를 활용

 

두번째는 오픈소스 LLM으로 직접 LLM API를 생성하는 방법

 

일반적으로 상업용 모델은 오픈소스 모델에 비해 크고 범용 텍스트 생성 능력이 뛰어나다.

 

하지만 오픈소스 LLM은 원하는 도메인의 데이터, 작업을 위한 데이터로 자유롭게 추가 학습할 수 있다는 장점이 있다.

 

이렇게 추가학습을 하는 경우 모델 크기가 작으면서도 특정 도메인 데이터나 작업에서 높은 성능을 보이는 모델을 만들 수 있는데 이를 sLLM이라 한다.

 

대표적으로 2024년 4월 메타가 공개한 라마-3 오픈소스 모델

 

4월 마이크로소프트의 언어 추론 능력에 집중한 Phi-3, 미니 모델이 38억개의 적은 파라미터로 엄청난 추론 능력을 보여줬다.

 

구글도 2024년 6월 제미나이 개발에 사용한 젬마-2 모델 공개

 

텍스트 요청을 SQL로 변환하는 작업에서 GPT-4를 뛰어넘은 디포그 AI의 SQLCoder

 

 

3. 더 효율적인 학습과 추론을 위한 기술

 

LLM의 기반이 되는 transformer 아키텍처 연산은 무겁고 또 모델 성능을 높이기 위해 모델의 크기를 키우면서

 

LLM의 학습과 추론에 필요한 연산량이 크게 증가했다.

 

LLM은 많은 연산량을 빠르게 처리하기 위해 다른 딥러닝 모델과 마찬가지로 GPU를 사용한다.

 

GPU는 많은 연산을 병렬로 처리하는 데 특화된 처리 장치인데, 고가의 장비이므로 LLM을 사용하기 위한 비용 중 상당 부분이 GPU에서 발생한다.

 

이런 배경에서 LLM을 학습하고 추론할 때 GPU를 더 효율적으로 사용해 적은 GPU 자원으로도 LLM을 활용할 수 있도록 돕는 연구가 활발히 진행중

 

대표적으로 모델 파라미터를 더 적은 비트로 표현하는 quantization(양자화)

 

모델 전체를 학습하는 것이 아니라 모델 일부만 학습하는 LoRA(low rank adaptation)

 

또한 무거운 어텐션 연산을 개선하는 연구도 있다.

 

이러한 연구들은 LLM의 학습과 추론을 더욱 효율적으로 만들어 적은 수의 GPU로도 높은 성능을 달성할 수 있게 해준다.

 

또한 환경적 측면에서도 GPU의 효율적인 사용은 에너지 소비를 줄이고 탄소 발생량을 감소시키는 데도 기여한다.

 

 

 

4. 환각을 대처하는 검색 증강 생성 RAG

 

LLM은 매우 강력한 도구이지만 환각 현상이라는 문제가 있다.

 

이는 LLM이 잘못된 정보나 실제로 존재하지 않는 정보를 만들어내는 현상을 말한다.

 

왜 이런 현상이 일어나는지 정확히 알기 어렵지만, 기본적으로 LLM은 학습 데이터를 압축해 그럴듯한 문장을 만들 뿐

 

어떤 정보가 사실인지, 거짓인지 학습한 적은 없어 특정 정보가 사실인지 판단할 능력은 없다.

 

또한 학습 데이터를 압축하는 과정에서 비교적 드물게 등장하는 정보는 소실될 텐데

 

그런 정보의 소실이 부정확한 정보를 생성하는 원인이 될 수도 있다

 

OpenAI의 Reinforcement Learning from Human Feedback: Progress and Challenge에서

 

지시 데이터셋으로 LLM을 SFT하는 과정에서 LLM이 기존에 알지 못하는 정보가 포함된 경우 환각 현상을 유발할 수 있다고 하였다.

 

또한 LLM이 텍스트를 생성하는 것은 마치 꿈꾸는 것과 비슷하다고 OpenAI의 창립 멤버 Andrej Karpathy가 말했다.

 

이는 환각 현상은 LLM만으로는 해결이 쉽지 않은 치명적 단점이라고 할 수 있다.

 

이런 문제를 줄이기 위해 검색 증강 생성(Retrieval Augmented Generation)이라는 기술을 사용한다.

 

이는 프롬프트에 LLM이 답변할 때 필요한 정보를 미리 추가하여, 잘못된 정보를 생성하는 문제를 줄인다.

 

 

5. LLM의 미래

 

LLM의 발전 방향은 다음과 같은 3가지 큰 흐름이 있다

 

etc-image-5

 

 

1) 먼저 LLM이 더 다양한 형식의 데이터 이미지, 비디오, 오디오를 입력으로 받을 수 있고,

 

출력으로도 여러 형태의 데이터를 생성할 수 있도록 발전시킨 멀티 모달 LLM이다.

 

멀티 모달 모델은 다양한 형태의 입력을 받을 수 있는 LLM이다.

 

etc-image-6

 

 

기본적으로 LLM은 텍스트를 입력으로 받고 텍스트를 출력으로 내보내기 때문에 다양한 사용 사례를 해결하는 데는 한계가 있다.

 

대표적으로 이미지는 LLM이 처리하기 까다로운데, 이를 해결하기 위한 연구가 활발히 진행되고 있다.

 

예를 들어 2024년 5월 GPT-4o는 이미지 및 음성 처리 능력이 뛰어나고, 구글의 제미나이, 엔트로픽의 클로드 같은 상업용 모델도 이미지를 함께 처리할 수 있다.

 

여러 오픈소스 멀티 모달 모델이 등장하고 있고, RAG에서도 이미지와 텍스트를 함께 검색하는 멀티 모달 RAG에 대한 관심도 많다.

 

 

2) 또 LLM이 텍스트 생성 능력을 사용해 계획을 세우거나 의사결정을 내리고 필요한 행동까지 수행하는 에이전트 연구도 활발하다.

 

LLM을 단순히 텍스트를 생성하는 기능 외에 스스로 판단하고 행동하는 에이전트의 두뇌로 사용하고자 하는 시도이다.

 

LLM은 뛰어난 언어 이해 및 추론 능력을 갖추고 있으므로 LLM을 활용하면 주어진 상황을 인식하고 필요한 행동을 계획해 직접 수행하게 만들 수 있다.

 

2023년 LLM을 핵심 엔진으로 사용하는 AutoGPT가 등장하면서 LLM 기반 에이전트의 가능성에 대한 기대가 커지고 있고

 

최근 마이크로소프트의 AutoGen, CrewAI 등 여러 에이전트를 활용해 문제를 해결하는 멀티 에이전트도 많이 나왔다.

 

 

3) LLM이 사용하는 transformer를 새로운 아키텍처로 변경해 더 긴 입력을 효율적으로 처리하려는 연구도 주목받고 있다.

 

오디오와 비디오 같은 데이터는 텍스트에 비해 입력이 훨씬 긴데, LLM이 더 긴 입력을 처리할 수 있게 되면 

 

오디오와 비디오 데이터를 처리하는 능력도 향상될 것이다.

 

etc-image-7

 

 

728x90