Cache-Control: max-age=31536000 LLM과 생성형AI를 공부하기 위한 10가지 필수요소 #2
본문 바로가기
  • 다양한 이야기를 들려드립니다.
  • 다양한 이야기를 들려드립니다.
과학스토리

LLM과 생성형AI를 공부하기 위한 10가지 필수요소 #2

by 한-스토리 2023. 11. 5.

 

안녕하세요. 한스토리입니다.

 

오늘은 지난번에 이어서 초거대언어모델(LLM)과 생성형 AI를 공부하기 위해 필요한 10가지 요소를 알아보겠습니다.

 

>>지난 글 보기

https://hanstory-sc.tistory.com/65

 

LLM과 생성형AI를 공부하기 위한 10가지 필수요소 #1

안녕하세요 한스토리입니다. 알파고 바둑사태 이후로 대중들에게 각인되어버린 인공지능 분야는 그 이후로 계속 발전하더니, 어느덧 대부분의 과학기술에 AI가 적용되고 있거나 혹은 적용하기

hanstory-sc.tistory.com

 


 

6. 임베딩 모델

 

임베딩(Embedding)이란 자연어를 숫자의 나열인 벡터 공간에 표현하거나 인코딩된 결과, 혹은 그 과정 전체를 의미하는 용어입니다. 언어의 의미와 관계를 캡쳐하고 저장하는 방식이며 언어의 불연속형과 연속형, 기호형과 숫자형 사이를 연결하는 다리 역할을 합니다.

 

말이 어려운데, 쉽게 말하면 사람이 사용하는 언어나 이미지를 컴퓨터에게 이해시키기 위해 우리가 표현하는 정보를 변환시켜야 하는데, 이러한 변환 과정에서 중요한 특성이나 의미를 보존하여 학습모델이 데이터를 처리할 수 있도록 하는 것이 임베딩 입니다.

 

임베딩의 주요 예시
 1) 텍스트 임베딩
  자연어 처리에서 사용되며 단어와 문장 등을 숫자로 표현하는 방법.
  Word2Vec, GloVe, FaseText, BERT 등의 모델이 사용됨.


 2) 이미지 임베딩 
  이미지를 고차원 벡터로 변환하여 컴퓨터 비전 작업에 사용됨.
   CNN(Convolutional Neural Networks)를 통한 이미지 임베딩 방식이 일반적.


 3) 오디오 임베딩
  음성 신호를 저차원의 특성 벡터로 변환하여 음성인식 및 감정분석 등의 오디오 처리 작업에 사용됨. 

 

 

위에 설명한 것과 같이 임베딩 모델은 각 단어의 의미와 단어 사이의 관계를 이해하기 위한 기초가 되며, LLM은 이를 기반으로 문맥에 맞는 문장들을 생성할 수 있게 됩니다.

 

 

 

7. 랭체인 (LangChain)

 

랭체인(LangChain)이란, 대규모 언어모델에 기반하여 어플리케이션을 개발하는 프레임워크를 말합니다.

여러 모델을 연결하여 복잡한 LLM 파이프라인을 설계하는 데 사용되며, 이러한 모델은 다른 시스템과 통합될 수 있습니다.

 

랭체인을 사용하여 챗봇, 개인 비서를 만들 수 있고 Q&A를 요약, 분석, 생성할 수 있으며 생성형 AI를 활용하는 다양한 어플리케이션을 만들 수 있습니다.

 

랭체인에 대해서는 잘 나와있는 블로그가 있어서 소개해 드리며 넘어가겠습니다.

(영어라서 잘 번역하셔야..)

 

https://blog.langchain.dev/

 

LangChain Blog

[Week of 10/16] LangChain Release Notes Announcing LangServe LangServe is the best way to deploy your LangChains. Blog Post. GitHub repo * Includes: Input/output schema, /docs endpoint, invoke/batch/stream endpoints,

blog.langchain.dev

 

 

 

8. 파라미터 튜닝

학습한 데이터를 그대로 적용시키다 보면 출력값에서 갑자기 이상한 문장이 나올 수가 있는데, 이런 잘못된 결과를 예방하기 위해서 결과값을 조정하는 것을 '튜닝' 작업이라고 합니다.

부적절한 단어를 필터링하거나, 편향된 답변을 걸러내는 작업도 모두 튜닝이라 볼 수 있습니다.

 

파라미터의 효율적인 튜닝은 GPT 혹은 BERT 등의 대규모 신경망 언어모델에서 특정한 작업을 수행하기 위한 머신러닝의 기술로 사용됩니다.

 

opendatascience.com/10-essential-topics-to-master-llms-and-generative-ai/

 

이 단계에서는 특히 모듈화한 작은 단위의 튜닝을 적용함으로써 리소스를 줄이고 높은 성능을 유지하는 효율성이 중요합니다.

이러한 방식을 PEFT (Parameter Efficiend Fine Tuning)이라고 부르기도 합니다. 

 

PEFT 안에서도 또 다양한 모델들이 사용되고 있는데, 이 내용 또한 다음에 차근차근 알아보는 것으로!

 

 

9. RAG 

 

RAG (Retrieval-augmented generation)이란, LLM의 내부 정보 표현을 보완하기 위해 외부 지식 소스에 모델을 기반으로 LLM 생성 응답의 품질을 향상시키기 위한 프레임워크를 말합니다.

 

ChatGPT를 사용해보신 분을 많이 아실텐데,

간혹가다가 이거 뭐 말도안되는 답변을 정말 그럴싸하게 하는 경우가 있습니다.

사용자가 깜박 속을 정도로 잘못된 정보를 정교하게 그럴싸한 문장으로 만드는데 알고보면 잘못된 정보인 경우가 있죠..

 

이러한 문제를 해결하기 위해 사용되는 방법이 RAG 입니다.

 

LLM에 미리 질문과 관련된 참고자료를 공급해주면, 그 안에서 답변을 찾는 방식으로 진행되기 때문에 기업 차원의 챗봇에 도입하기 쉬운 방식이기도 합니다.

 

Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks

 

 

 

10. 자연어 처리 

 

마지막 10번째는 자연어 처리 (Natural Language Processing, NLP)입니다.

 

자연어라는 것은 사람들 사이에서 발생하는 의사소통 언어를 말합니다.

기존의 컴퓨터는 입력된 딱딱한 언어만 사용 가능했지만, 정말 사람과 대화하는 느낌을 내기 위해서는 결국 컴퓨터도 사람이 사용하는 언어를 사용해야겠죠?

 

그래서 컴퓨터 언어를 정말 사람이 사용하는 언어로 바꾸는 과정을 자연어처리(NLP)라고 하며, 이러한 NLP를 자연스럽게 구사하기 위해 필요한 것이 LLM(거대언어모델) 입니다.

 

즉, LLM을 공부하기 위해 NLP가 필요한 것은 아니며 어떻게 보면 NLP를 하기 위해 필요한 것이 LLM이라고 볼 수도 있는데, 중요한 것은 NLP 기술이 AI 확산에 매우 중요한 역할을 하고 있다는 것입니다.

 

오픈소스가 발달하면서 AI는 사람이 텍스트로 작성한 입력값 문장에서 감정도 읽을 수 있는 수준으로 발달했고, 거기에 맞는 답변을 내놓을 수 있는 세상이 되었습니다.

앞으로 얼마나 더 자연스러워지느냐의 게임이 될 것이기 때문에 NLP 기술의 중요성은 뭐.. 더이상 설명하지 않아도 될 것 같습니다.

 


 

지금까지 작성한 10가지 항목을 모두 완벽히 이해해야만 무언가를 할 수 있는 것은 아닙니다.

LLM에 기반한 현재 기술들이 어떻게 개발되고 있는지 그 흐름을 대략 잡아가다 보면 왜 지금 있는 생성형 AI 프로그램들이 이상한 결과들을 내는지, 그리고 만일 내가 어떤 목적을 위해 챗봇 프로그램을 개발해야 한다면 어떤 것들을 위주로 개발해야 그 목적에 맞는 프로그램을 개발할 수 있는지 조금은 더 알 수 있지 않을까 싶습니다.

 

앞으로는 각 요소별로 조금 더 상세하게 들어가보기도 하고 가끔씩 쉬운 예제들도 풀어볼 수 있는 컨텐츠도 준비해보려 합니다.

 

감사합니다!