-
1.3 LLM 애플리케이션의 시대가 열리다LLM/LLM을 활용한 실전 AI 애플리케이션 개발 2025. 1. 12. 12:39
목차
ChatGPT 이후 많은 조직에서 LLM 을 활용한 애플리케이션을 개발하기 위해 노력하고 있다.
- sLLM(Small Large Language Model)
- 효율적인 학습과 추론
- RAG (Retrieval Augmented Generation, 검색증강생성)
에 대해 알아본다
1.3.1 지식 사용법을 획기적으로 바꾼 LLM
기존에는
NLU(Natural Language Understanding) 자연어 이해 ; gmail 의 spam filter 기능 등에 사용
NLG(Natural Language Generating) 자연어 생성
두 분야로 나눠 접근했다.
하지만 LLM의 경우 언어 이해와 언어 생성 능력 모두 뛰어나다.
자연어 생생을 위한 모델이기에 언어 생성 능력이 뛰어나고,
모델의 크기가 커지면서, 언어 추론 능력을 포함해 언어 이해 능력이 높아졌다.
또, 지시 데이터셋으로 사용자의 요청에 응답하는 방식을 학습하면서 다양한 작업에 적절히 응답하는 능력도 갖췄다.
즉 LLM 이 다재다능해졌다.
사람이 하는 일 대부분은 언어 이해와 생성을 함께 필요로 하며, 여러 작업이 복합적으로 섞여 있다.
개발자라면,
요구사항을 바탕으로 기존코드를 이해해서,새로운 코드를 생성해야 한다.
또 관련 기술문서 읽고 요약하거 보고서를 작성하는 일도 한다.
마지막으로 현재의 상황과 여러 제한 조건을 바탕으로 어떤 판단이나, 의사결정을 내리는 일도 수행해야 한다.
기존의 자연어 처리 접근 방식에서는 복합적인 작업을 수행하기 위해, 그림 1.22와 같이 언어 이해 모델과 언어 생성 모델을 각각 개발해 연결했다.
하지만, 다재다능한 LLM을 활용한다면, 그림 1.23과 같이 하나의 LLM으로 작업을 수행하도록 만들 수 있다.
LLM의 이런 다재다능함을 활용하면, 그림 1.24와 같이 사용자가 LLM을 통해 검색한 정보가 요약되고, 쉽게 해설된 결과를 통해 지식을 비교적 쉽게 습득할 수 있고, 습득한 지식을 더 빠른 시간 안에 새로운 결과물로 조합해 낼 수 있다.
대부분의 지식 노동자가 수행하는 작업이 언어의 이해와 생성을 모두 포함하기에 자동화 하기 어려웠는데, LLM은 자연어 이해와 성능이 모두 뛰어나기 때문에 비교적 간단한 작업에서는 사람을 완전히 대체할 수 있어, 많은 기대와 우려를 한 번에 받고 있다.
1.3.2 sLLM : 더 작고 효율적인 모델 만들기
LLM활용방법
01. ChatGPT 또는 Gemini 처럼 상업용 API 를 사용하는 방법
02. sLLM, 오픈소스 LLM을 활용해 직접 LLM API를 생성해 사용하는 방법
상업용API 장점
모델이 크고, 범용 텍스트 생성 능력이 뛰어나다
sLLM의 장점
모델의 크기가 작으면서도, 특정 도메인 데이터나 작업에서 높은 성능을 보인다.
대표적인 오픈소스 LLM
- Meta 의 Llama 3
- Google 의 Gemma-2
- Microsoft Phi-3 38억개의 적은 파라미터로 강력한 언어 추론 능력
- Defog.ai 의 SQLCoder : 텍스트를 SQL로 변환
7장에서 한국어 텍스트 요청을 바탕으로 SQL을 생성하는 sLLM을 만들어본다.
1.3.3 더 효율적인 학습과 추론을 위한 기술
LLM 을 위해선 많은 연산이 필요하고, 다수의 고가 GPU 장비필요하다
이런 배경에서 GPU를 더 효율적으로 사용해 적은 자원으로 LLM을 활용할 수 있도록 돕는 연구가 활발히 진행되고 있다.
- 양자화(Quantization) : 모델 파라미터를 더 적은 비트로 표현
- LoRA(Low Rank Adaption) : 모델 전체를 학습하는 것이 아니라 모델의 일부만 학습
- 무거운 어텐션연산을 개선해 효율적인 학습과 추론을 가능하게 하는 연구
6장, 8,9장에서 더 자세히 살펴본다
1.3.4 LLM의 환각 현상을 대처하는 검색 증강 생성(RAG) 기술
LLM은 매우 강력한 도구지만, 한 가지 큰 문제가 있는데, 바로 환각 현상(Hallucination)이다.
이는 LLM이 잘못된 정보나 실제로 존재하지 않는 정보를 만들어 내는 현상을 말한다.
1) LLM은 학습 데이터를 압축해 그럴듯한 문장을 만들 뿐 어떤 정보가 사실인지, 거짓인지 학습한 적은 없어, 특정 정보가 사실인지 판단할 능력은 없다.
2) 또, 학습 데이터 압축과정에서 드물게 등장하는 정보는 소실될 텐데, 그런 정보의 소실이 부정확한 정보를 생성하는 원인이 될 수도 있다.
3) OpenAI 의 존 슐먼(John Schulman)은 사람의 피드백을 활용한 강화 학습:발전 과제(Reinforcement Learning from Human Feedback: Progress and Challenge) 에서 지시 데이터셋으로 LLM을 지도 미세 조정하는 과정에서 LLM이 기존에 알지 못하는 정보가 포함된 경우 환각 현상을 유발 할 수 있다고 제안했다.
이런 문제를 줄이기 위해 검색 증강 생성(RAG, Retrieval Augmented Generation) 이라는 기술을 사용한다
RAG 기술은 프롬프트에 LLM 이 답변할 때 필요한 정보를 미리 추가함으로써 잘못된 정보를 생성하는 문제를 줄인다.
Keyword
NLU (Natural Language Understading) 자연어 이해 : 텍스트분류, 감성분석, 기계독해
NLG (Natural Language Generating) 자연어 생성: 언어 모델링, 소설작성, 보고서 작성
LLM : NLU, NLG 둘다 잘하는 다재다능
sLLM(small Large Language Model) : 오픈소스 LLM을 활용해 직접 LLM 를 생성하여 사용, 특화기능, 보안
더효율적인 학습과 추론을 위한 기술
- 양자화(Quantization): 모델 파라미터를 더 적은 비트로 표현
- LoRA(Low Rank Adaption) : 모델 전체를 학습하는 것이 아니라 모델의 일부만 학습
Hallucination(환각현상) : LLM이 잘못된 정보나 실제로 존재하지 않는 정보를 만들어 내는 현상
RAG : Hallucination 을 줄이기 위해 RAG 를 사용, 프롬프트에 답변할 때 필요한 정보를 미리 추가
책 출처 : https://ridibooks.com/books/3649000042
'LLM > LLM을 활용한 실전 AI 애플리케이션 개발' 카테고리의 다른 글
2장 토큰화와 Emdeding Python code 예 (0) 2025.01.18 1.4 LLM의 미래: 인식과 행동의 확장 (0) 2025.01.12 2.5 인코더 (0) 2025.01.10 2.3 어텐션 이해하기 (0) 2025.01.10 2장 LLM의 중추, 트랜스포머 아키텍처 살펴보기 (1) 2025.01.10