LLM02 - 활용방법

대형언어모델을 운용할 때 사용하는 다양한 활용 방법을 요약했다.

LLM 활용

Open-source LLMs

2025 년 주요 LLM base models

[https://blog.n8n.io/open-source-llm/\]

LLM의 주요 활용 분야

LLM은 그 자체로도 강력하지만, 다른 기술과 결합하거나 특정 목적에 맞춰 미세 조정될 때 더욱 큰 시너지를 낼 수 있습니다. 주요 활용 분야는 다음과 같습니다.

1. 콘텐츠 생성 및 요약

  • 보고서, 기사, 블로그 게시물 작성: 주어진 주제나 키워드를 바탕으로 자연스럽고 설득력 있는 글을 자동으로 생성합니다.
  • 마케팅 문구 및 광고 카피: 제품이나 서비스의 특징을 분석하여 매력적인 광고 문구를 제안합니다.
  • 창의적인 글쓰기: 시, 소설, 시나리오 등 문학 작품 창작에 도움을 주거나 새로운 아이디어를 제시합니다.
  • 텍스트 요약 및 정보 추출: 긴 문서나 여러 개의 문서를 핵심 내용만 간추려 요약하거나 특정 정보를 추출합니다.
  • 번역: 자연스럽고 정확한 언어 번역을 제공하며, 문맥을 이해하여 문화적 뉘앙스까지 반영하려 노력합니다.

2. 고객 서비스 및 상호작용

  • 챗봇 및 가상 비서: 고객 문의에 실시간으로 응답하고, FAQ를 기반으로 정보를 제공하며, 기본적인 상담 업무를 처리합니다.
  • 개인화된 추천 시스템: 사용자의 선호도나 과거 행동을 분석하여 맞춤형 제품, 콘텐츠, 서비스를 추천합니다.
  • 음성 인식 및 합성: 음성 명령을 텍스트로 변환하거나 텍스트를 자연스러운 음성으로 변환하여 상호작용을 돕습니다.

3. 교육 및 학습

  • 개인 맞춤형 학습 콘텐츠: 학생의 학습 수준과 목표에 맞춰 최적화된 학습 자료나 문제 풀이를 제공합니다.
  • 튜터링 및 질의응답: 특정 개념에 대한 질문에 답변하고, 예시를 들어 설명하며 학습을 돕습니다.
  • 언어 학습: 외국어 학습 시 발음 교정, 문법 오류 수정, 회화 연습 상대 등의 역할을 수행합니다.

4. 코드 생성 및 개발

  • 코드 자동 완성 및 생성: 개발자가 코드를 작성할 때 다음 코드를 예측하여 자동 완성하거나, 특정 기능에 대한 코드를 생성합니다.
  • 버그 수정 및 코드 최적화: 기존 코드의 오류를 찾아내고 수정 방법을 제안하거나, 성능 개선을 위한 최적화 방안을 제시합니다.
  • 설명서 작성: 코드에 대한 주석이나 API 문서 등을 자동으로 생성하여 개발 생산성을 높입니다.

5. 데이터 분석 및 인사이트 도출

  • 비정형 데이터 분석: 고객 피드백, 소셜 미디어 게시물 등 비정형 텍스트 데이터에서 유의미한 패턴이나 트렌드를 발견합니다.
  • 시장 조사: 방대한 양의 시장 보고서나 뉴스 기사를 분석하여 시장 동향이나 경쟁사 정보를 파악합니다.

장점

  • 생산성 향상: 반복적이거나 시간이 많이 소요되는 작업을 자동화하여 효율성을 극대화합니다.
  • 비용 절감: 특정 업무에 필요한 인력이나 자원을 줄일 수 있습니다.
  • 새로운 가치 창출: 기존에는 불가능했거나 비효율적이었던 작업을 가능하게 하여 새로운 비즈니스 모델을 창출합니다.
  • 개인화된 경험 제공: 사용자 개개인의 니즈에 맞는 맞춤형 서비스를 제공하여 만족도를 높입니다.

한계

  • 환각(Hallucination): 사실이 아닌 정보를 그럴듯하게 생성하여 제공할 수 있습니다.
  • 편향성: 학습 데이터에 존재하는 편향이 모델에 반영되어 차별적이거나 부적절한 결과를 초래할 수 있습니다.
  • 최신 정보 부족: 학습 시점 이후의 최신 정보를 반영하지 못할 수 있습니다.
  • 복잡한 추론의 한계: 아직까지는 인간 수준의 복잡한 논리적 추론이나 문제 해결 능력에는 한계가 있습니다.
  • 데이터 보안 및 프라이버시: 민감한 정보를 다룰 때 데이터 유출이나 오용의 위험이 존재합니다.

크게 Finetuning 과 RAG 가 있다.

LLM 응용 전략

실제 서비스나 애플리케이션에 적용할 때 중요한 전략인 RAG(Retrieval-Augmented Generation), Fine-tuning, Agent에 대해 살펴보자

  1. Fineturning
  2. RAG
  3. Agent

1. Fineturning

파인튜닝은 LLM 모델을 특별한 상황에 더 맞도록 훈련을 시키는 방법

Fine-tuning은 미리 학습된 LLM(Pre-trained LLM)을 특정 데이터셋(도메인 특화 데이터, 작업별 데이터, 지역 데이터 등)으로 추가 학습시키는 과정으로 이를 통해 모델의 파라미터를 조정하여 특정 작업이나 특정 도메인에 더욱 집중해서 성능을 발휘하도록 만드는 기술이다.

작동 방식:

  1. 사전 학습된 LLM 선택: GPT-3, Llama, BERT 등 이미 대량의 데이터로 학습된 LLM을 선택합니다.

  2. 데이터셋 준비: Fine-tuning에 사용할 고품질의 도메인 특화 데이터나 특정 작업에 대한 데이터를 준비합니다 (예: 질문-답변 쌍, 특정 스타일의 텍스트).

  3. 모델 추가 학습: 준비된 데이터셋으로 LLM을 추가적으로 학습시킵니다. 이 과정에서 모델의 가중치(파라미터)가 조정됩니다.

  4. 평가 및 배포: Fine-tuning된 모델의 성능을 평가하고, 실제 서비스에 배포합니다


<[1] 2단계에 걸치 파인튜닝 사례: https://floatbot.ai/tech/llm-fine-tuning-strategies>

전이학습

이렇게 한 분야 모델을 다른 분야를 학습시키는 것을 전이학습(Trasfer Learning)이라고 한다. 기존 학습한 모델의 내용이 다른 분야에도 전이된다는 의미로 이해한다.


<[2] 전이학습>

전이학습은 파인튜닝 보다 포괄적인 의미를 갖는다. 파인튜닝은 전이학습의 한 형태로 특정 분야, 특정 작업에 집중해 추가학습하는 과정을 말한다.


https://thebook.io/080413/0006/

파인 튜닝의 어려움

  • 기존 모델에 추가 학습해야 하는데, 1) 어느 정도 데이터로 어느 정도 훈련해야 하는지 정하기 어렵다. 2) 학습에 과도한 비용이 발생, 즉 LLM 모델에 추가 학습에도 방대한 자원이 필요 3) 데이터 준비가 어렵다. 파인튜닝을 위해서 “질문-답변” 형식의 세트가 필요한데 새 데이터를 이렇게 준비하는게 쉽지 않다.

활용 예:

  1. 고객 상담 챗봇의 응대 방식 개선: 특정 기업의 고객 응대 매뉴얼, 과거 상담 기록으로 Fine-tuning하여 챗봇이 기업의 가이드라인과 톤앤매너에 맞게 응대하도록 합니다.

  2. 특정 분야 텍스트 생성: 의학 전문 기사를 작성하는 LLM을 만들기 위해 방대한 의학 논문으로 Fine-tuning합니다.

  3. 코드 생성 모델 개선: 특정 프로그래밍 언어나 특정 프레임워크의 코드 샘플로 Fine-tuning하여 해당 분야의 코드 생성 능력을 향상시킵니다.

파인 튜닝에 대한 자세한 OpenAI 문서

2. RAG

RAG (Retrieval-Augmented Generation, 검색 증강 생성) 은 정보 검색과 생성을 결합한 인공지능 모델이다. RAG 는 복잡한 정보가 필요한 질문에 답변하기 위해 설계되었다. LLM의 ‘환각(Hallucination)’ 문제를 줄이고, 최신 정보나 특정 도메인의 전문 지식을 활용하게 하는 데 매우 효과적일 수 있다.

작동 방식:

  1. 사용자 질문: 사용자가 LLM에 질문을 합니다.

  2. 정보 검색: 질문과 관련된 정보를 외부 지식 소스(벡터 데이터베이스 등)에서 검색합니다. (이때 질문을 임베딩하여 유사한 임베딩을 가진 문서를 찾는 방식이 주로 사용됩니다.)

  3. 컨텍스트 추가: 검색된 관련 정보(문서 조각 등)를 사용자 질문과 함께 LLM의 프롬프트에 추가하여 전달합니다.

  4. 답변 생성: LLM은 추가된 컨텍스트를 기반으로 답변을 생성합니다.

RAG는 2단계로 구성된다. 정보검색 단계와 텍스트 생성 단계이다.

  1. 정보검색 단계

    • 질문: 프롬프트 입력
    • 쿼리: 문서 검색으로 데이터베이스, 문서 등의 콘텐츠 저장소에서 질문을 검색한다.
    • 결과: 검색 결과중에서 관련성 높은 문서와 사용자 질문을 결합해서 LLM에 전달한다.
  2. 테스트 생성 단계

    • 정보전달: 선택 문서 내용, 즉 사용자 질문 + 검색결과을 모델에 전달하면 LLM 모델이 의미를 이해하기 시작한다
    • 텍스트 생성: 질문의 답변을 생성한다.


https://apmonitor.com/dde/index.php/Main/RAGLargeLanguageModel

활용예

  • 기업 내부 지식 챗봇: 회사 규정, 제품 매뉴얼, 인사 정책 등 내부 문서를 학습시키지 않고, RAG를 통해 필요할 때 해당 문서에서 정보를 찾아 답변합니다.

  • 법률 자문 시스템: 방대한 법조문 및 판례 데이터를 RAG에 연동하여 특정 사건에 대한 법률적 해석이나 관련 판례를 제시합니다.

  • 뉴스 요약 및 분석: 실시간으로 업데이트되는 뉴스 기사를 RAG를 통해 검색하고, 사용자의 질문에 맞춰 요약하거나 분석합니다.

3. Agent

Agent는 LLM을 추론 엔진으로 활용하여, 특정 목표를 달성하기 위해 일련의 행동을 계획하고 실행하며, 필요시 도구를 사용하고 피드백을 받아 스스로 개선해나가는 시스템입니다. LLM은 단순히 텍스트를 생성하는 것을 넘어, 문제 해결을 위한 ‘두뇌’ 역할을 합니다.

작동 방식:

  1. 목표 설정: 사용자 또는 시스템이 에이전트에게 특정 목표를 부여합니다 (예: “다음 주 파리 여행 계획을 세워줘”).

  2. 계획 수립 (LLM의 추론): LLM은 목표를 달성하기 위한 단계별 계획을 세웁니다 (예: 항공권 검색 -> 호텔 예약 -> 관광지 조사 -> 예산 책정).

  3. 도구 사용: 계획에 따라 필요한 외부 도구(예: 항공권 예약 API, 구글 지도 API, 날씨 정보 API)를 호출하고 사용합니다.

  4. 관찰 및 피드백: 도구 사용 결과나 현재 상황을 관찰하고, 목표 달성에 얼마나 근접했는지 평가합니다.

  5. 반복 및 개선: 피드백을 바탕으로 다음 행동을 결정하거나, 필요시 계획을 수정하여 목표를 달성할 때까지 이 과정을 반복합니다.

4. 퓨샷, 제로샷 러닝

퓨샷러닝은 매우 적은 양의 데이터로 학습하는 능력을 말한다. 기존 모델에 매우 제한된 데이터로 부터 적응시키는 것이다.

퓨샷 러닝과 더불어 제로샷 러닝, 원샷 러닝들이 있다.

제로샷 러닝

기존 모델에 전혀 보지 못한 데이터가 제시되었을 때 예측을 수행할 수 있는 것을 제로샷 러닝이라고 한다.
- 기존 모델이 방대한 데이터를 바탕으로 추상화하고 일반화할 수 있는 능력이 필요

원샷 러닝

반면에 얼룩말 이미지 하나만 학습해서 얼룩말을 분류하는 것을 원샷 러닝이라고 한다 보통 지도학습 분야가 그렇다

퓨샷 러닝

또한 여러개의 얼룩말 이미지를 학습하고 얼룩말을 분류하는 것을 퓨샷러닝이라고 한다.

— 참고 —

  1. LLM Fine-Tuning Strategies for Domain-Specific Applications

  2. transfer learning