728x90
반응형

논문은 23년 11월에 학회지에 발표된 내용을 정리한 것으로, 빠르게 진화하는 기술을 고려하면 조금 진부할 수 있지만,  국내에서 한국어기반으로 제작한 업체들의 '접근법'을 파악할 수 있습니다. 더불어 국내업체들도 국외업체들을 참조할 수 밖에 없으니 자연스럽게  국제 추세 또는 기반기술에 대한 이해에 도움이 될 것입니다. AI에 대한 중상급 이상의 독자에게 도움을 줄 수 있는 형태로 개조식으로 정리하였습니다. 도움이 되길 바랍니다.^^

 

 

LLM 용어

우선 과거에 초거대, 인공모델 등 다소 과장하여 표현된 것은 원래대로 제대로 돌아온 것 같습니다.

단순하게 '거대언어모델'로 학회에서 불려지고 있습니다.  즉, 언어모델(Language Model)이죠.

Large는 한국어로 어떻게 호칭할지 아직(2024.04.09)도 정해지지 않은 것 같습니다.

Large = "대규모", "거대", "초거대", "초대규모", 

 

LLM 태생

  • "Transformer 모델의 아키텍처에 파라미터 수를 늘려보니( Layer 또는 Node ) NLP의 여러 기능을 하더라."가 태생인가?
  • 이것을 '창발 능력'(Emergent Ability)'이라고 부르는가? (역으로, 대용량의 지식과 많은 수의 파라미터를 요구)
  • Zero-Shot(In-Context Learning) 능력. ( 학습하지 않는 새로운 작업을 수행하는 능력, 사전학습과정에서 내재적으로 다중 태스크 학습을 수행하고, 이를 통해 새로운 작업을 수행하는 능력을 습득(거저 주었다?)할 수 있음을 시사)
  • Few-Shot Learing 능력.
  • 즉, 몇 장의 사진(shot)만 보고 전체 줄거리를 쫙 읊을 수 있다?

Transformer 모델 기반

  • 인코더와 디코더로 구성
  • 인코더는 주어진 텍스트를 이해하는 역할 ( 글자를 벡터화, Embedding Words , Word Vector)
  • 디코더는 이해한 텍스트를 기반으로 언어를 생성해 내는 역할.( 번역문(생성) )
  • 인코더만 사용,  Google의 BERT( Bidirectional Encoder Representation from Transformers) :: 임의의 토큰을 마스킹하고 마스킹된 토큰이 무엇인지 예측하는 MLM(Masked Language Modeling) 방식으로 학습
  • 디코더만를 기반,  OpenAI의 GPT( Generative Pretrained Transformer)::이전텍스트를 기반으로 다음에 나올 토큰이 무엇인지 예측(Prediction)하는 NTP(Next Token Prediction) 방식으로 학습, 레이블이 없는 말뭉치.     
  • 인코더-디코더 사용, Googlem의 다중언어(multilingual)  T5 모델,   span corruption objectve,  문자 외 음성데이터 등 다른 형태의 입력도 처리,      VIT모델(이미지분야), 전통적인 CNN구조를 대체,      LG AI: EXAONE모델
  • Bert, RoBERTa, XLM, ALBERT, ELECTRA
  • TS, BART, B2m-100, BigBird
  • GPT-x, InstructGPT, charGPT

LLM을  다소 낮은 사양의 GPU 서버 3-4장으로, 단일 서버에서 운영할 수 있는가? ( Low Resources )

  • 양자화(Quantization) 또는 숫자 표현(Representation)의 배정도(Precision)를 조절한다.
  • 훈련단계에서도 가능하다는 내용이 있는 것 같음.

Pre-Training ( Full-Training , All-Data) 방법

  • Foundation Model을 만듦.
  • T5 : 웹페이지
  • GTP-3 : 웹페이지, 책, 뉴스 
    • OpenAI
    • Generative(다음언어를 예측) + Pre-Trained + Transformer
    • 자동 회귀적 ( auto-regressive) 생성 구조
    • 175B 파라미터 ( 1조 7천억 개)
    • 모델 입력에  few-shot 예시를 주는 in-context learning을 통해     다양한 NLP 태스크에서 미세조정 없이도 좋은 성능
    • GPT-1 : 512 tokens, 12 Blocks, Books, 5GB data, 117M params, 2018
    • GPT-2: 1024 tokens, 48 Blocks, WebText, 40GB data, 1.5B params, 2019
    • GPT-3 : 2048 tokens, 96 Blocks, WebText/Books, 600GB data, 175B params, 2020,  ~ 1,024 A100s for 34 days
    • GPT-3.5:  CharGPT,    GPT-3 + supervised + Reinforcement, 175B params
    • GPT-4:                                       ~25,000 A100s for ~90 days

 

  • LLaMa
    • Meta AI
    • 7B ~ 65B
    • 학습데이터 : English CommonCrawl, C4, GitHub.     
    • SentencePiece :  숫자는 한 자리씩 분리
    • Transformer 기반
    • RMSNorm 정규화, SwiGLU activatio function, rotary postional embedding(RoPE) 등의  변형
    • LLaMa2는 LLaMa에  grouped query attention(GQA) 모델 구조를 추가하고 대화에 최적화되도록 학습
  • LLaMa2
    • Meta with Microsoft
    • 7B, 13B, 32B, 65.2B
  • LLaMa-1 65B : 웹페이지(87%), 대화, 책 및 뉴스, 학술 데이터, 코드 데이터
  • BLOOM : 다국어 특화,     번역/요약/QA
    • decoder only 구조,  공개(public) 언어모델
    • ROOTS 코퍼스( 46개의 자연언어, 13개의 프로그램언어, 필터링된 데이터, 비식별화된 데이터)
    • Transformer 구조
    • ALiBi 포지션 임베딩,  Layer Normalization
    • 토큰 :  250k의 vocab크기
    • Byte-Levle BPE
    • 176G, 560M, 1.1B, 1.7B, 3B, 7.1B 파라미터
  • RedPajama
    • Together AI
    • 파운데이션 모델과 학습에 사용된 데이터를 완전히 공개(Public Open)
    • 데이터 : LLaMa에서의 데이터 종류와 정제 방법을 따르는 1.2T의 토큰 데이터
    • 파운데이션 모델 :  Eleuther AI의  Pythina-7B를 사용하여 학습
  • Galactica : 과학 도메인
  • AlpahCode :  코드 생성
  • "다양한 코퍼스의 최적 혼합 비율과 필요한 데이터 양" ::  필자의 한문고전번역::한국고전번역원 사업에서 자주 질문 당했던 사항...
  • 학습과정  :  missing token prediction 목적함수를 최적화하는 과정
  • Genimi    ( Dec/2023)
    • Google DeepMind
    • 1~2T    parameters
    • Nano-1     1.8B
    • Nano-2    3.25B
    • Pro     (   6/Dec/2023 )
    • Ultra    ( 2024 )
    • Dataset Size(tokens) : 20T-40T for Ultra
    • TPUv4 and TPUv5  for ~120 days

 

 

Data 정제

  • 학습에 적합한 형태로 데이터를 변환하고 정제하는 과정 필요,  데이터의 품질 확보
  • 필터링 :  규칙기반,   모델기반
  • 중복제거
  • 비식별화

 

Data Source, 훈련용 데이터

  • CommonCrawl :  비영리 단체, 2008년부터,  C4/RefinedWeb/Redpajama
  • Wikipedia : 온라인 백과사전 데이터
  • Code : 프로그램 코드와 그 질의응답 데이터,  TheStack 데이터, StackExchange 데이터

Fine-Training ( Specific Domain or Task ) 방법

Instruction Tuning(인스트력션 튜닝) :: 지시어 튜닝

  • LLM을 개선할 수 있는 기회를 제공
  • 제로샷(zero-shot) 학습 능력을 향상 시키는 전략
  • (파운데이션)모델이 지시어를 따를 수(instruction-following) 있도록 '지시어(instuction)'와  '출력(output)'을 사용하여 LLM을 추가로 학습시키는 것을 의미함
  • 지시, 입력, 출력 형태의 데이터로 구성( 기존에 존재하는 NLP분야의 특정한 태스크, 즉  번역, 요약, QA 관련 데이터를 형식화, 모델로부터 합성된 데이터..)
  • 구축 방법 1 : 어노테이션 데이터셋을 활용,   기존 Text-Lable 쌍을    (지시어, 출력) 쌍으로 변환,   FLAN 데이터셋, P3 데이터셋
  • 구축 방법 2 : 주어진 지시어에 대한 출력을 GTP-3.5-Turbo 또는 GPT-4를 사용, InstructionWild 데이터셋, Selt-Instuct 데이터셋
  • 멀티턴 대화형 지시어 : LLL이 서로 다른 역할( 사용자 및 AI 어시스턴트 )을 스스로 수행
  • 튜닝 방법 : supervised fine-tuning(SFT) 방식
  • 본 적 없는 태스크에 대한 일반화 능력
  • 미세 조정하는 추가적인 과정을 의미
  • 기존의 지도학습 패러다임과 유사
  • 비교적 적은 수의 예제만으로 뛰어난 성능 및 새로운 태스크에 일반화가 가능(multi-task prompted training)
  • Instruction == Template == Prompt
  • 지시사항의 다양성과 품질이 예제의 개수보다 더 중요
  • General-purpose task solver  > Domain-specialized task solver
  • FLAN,  12개의 작업클러스터 예시
  • 어려운 점 : 풍부한 데이터셋이 필요, 그에 따른 다양한 인스트럭션이 필요, cross-lingual instruction tuning (즉 번역), 
  • 예시 ( squad_kor_v1  from HuggingFace )
  • Alpaca :  GPT-3.5에서 생성된 52만 개의 지시어 데이터셋( instruction-following dataset)을 활용
  • Vicuna :   ChatGPT와 사용자 사이에 공유된 7만 개의 대화 세트로 구성된 약 700만 개의 지시어 데이터셋을 활용
  • 주로 영어와 중국어...

지시어 데이터셋( Instruction Dataset )

  • Natural Instruction :     61개의 NLP Task,   193,000개,   인간 주석자가 직접 만듦.  영어기반. { 지시어, 인스턴스 : { 입력, 출력 }}
  • P3 (Public Pool of Prompt):   170개 영어 NLP 데이터셋, 2,052개의 영어 프롬프트,  { 입력, 답변선택지, 타겟 }
  • FLAB :   62개의 널리 사용되는 NLP 벤치마크를 입력-출력 쌍으로 변환,  영어,  {입력, 타겟}
  • Self-Instruct :    InstructGPT를 사용하여 구축된 5만 개 지시어 + 252개의 평가 지시서,  영어, 
  • Alpaca :   Self-Instruct 데이터셋의 일부를 시드 데이터로 사용하여 GPT-3.5-Turbo를 사용하여 답변을 생성 ( Alpaca모델은 구축한 지시어 데이터셋에 LLaM-7B를 미세조정(Fine-Tuning)하여 학습된 언어모델 )
  • Vicuna:  ShareGPT 홈페이지에서 사용자가 공유한 ChatGPT대화를 수집 후,  70K의 대화 기록을 학습데이터로 사용( Vicuna모델은 구축한 데이털에서 LLaMa-13B를 미세조정(Fine-Tuning)하여 훈련된 언어모델임)
  • GPT-4-LLM: Alpace의 지시어를 GPT-4를 통해 출력하여 수집,  52만 개의 지시어와 출력 쌍으로 구성
  • Dolly: Databricks에서 제작, 15만 개의 데이터( 행동 커테고리 :: 브레인스토밍, 분류, 폐쇄형 QA, 생성, 정보추출, 요약, 개방형 QA 등)
  • ShareGPT:  90만 개의 데이터, ChatGPT와 사용자 간의 대화를 수집,  필터링 도구( langid ), 10자 미만을 필터링

 

 

인간의 피드백( Human Alignment )

  • 인간의 가치와 기준에 부합하도록 조정하는 접근법
  • 사용자 만족도 정렬(Human Preference Alignment) < ChatGPT의 상업적인 성공요소,  Bradley-Terry모델(사용자 만족도 우선순위를 표현),  Chatbot Arena 방식,   LLaMa-2의 경우 약 142만 건의 사용자 선호도 데이터 
  • LLM의 의도치 않은 행동을 방지하기 위한 방법론
  • 고품질의 human feedback 수집이 필수적이라, 상대적으로 많은 비용이 소모
  • Reinforcement Learning from Human Feedback(RLHF) :: 강화학습법 중의 하나,   InstructionGPT, ChatGPT에 적용됨. SFT, RM(Reward Model), PPO(Proximal Policy Optiomization) Algirithm
  • 부작용 :: 인간의 주관적인 alignment criteria의 특성에 의한,  기본능력을 감소,  alignment tax 
  • PPO( Proximal Policy Optimization) : 강화학습 기법, 사용자 피드백 주입,  OpenAI의 InstructGPT모델, Mata의 LLaMa2-chat모델, Anthropic의 Claude2 모델,          Policy모델, KL-divergence로 제약

 

Resource-Efficient Fine-Tuning ( or Parameter Efficient Tuning)

  • 큰 규모의 모델 파라미터를 갖는 LLM의 효율적인 학습을 위한 방법론(들)    
  • Parameter-Efficient Fine-Tuning(PEFT) :: 원래의 언어모델의 파라미터는 고정 후, 특정 계층(Layer)만
    • Adaptor Tuning
    • Prefix Tuning
    • Prompt Tuning
    • Low-Rank Adaptation(LoRA) : low-rank approximation, 메모리 및 스토리지 비용 절감,  모델의 일부분을 학습,   GTP-3 175B의 경우,  파라미터 수를 10,000배, GPU 메모리 사용량 3배 줄임.
    • LLaMa-Adapter :  7B의 파라미터 수 > 1.2M 개만의 학습 파라미터로.....  52K 개의 지시어 사용,  지시어를 따르는 모델,  Transformer 레이어 상당에서 학습 가능한 Adaptation 프롬프트를 단어 토큰 앞에 붙인다. zero gating, zero-initialized attention....    fully-tunned Alpaca보다 품질이 좋은 답변 생성
  • Flash Attention : 모델 구조를 효율적으로 변경,  읽기 및 쓰기에 대한 정로를 GPU메모리 단계에서 보다 효율적으로 고려.   기존 Transformer의 attention에 비해 GPT-2 모델 기준 약 3배 빠른 속도로 처리

 

Memory-Efficient Fine-Tuning

  • 양자화(quantization) 등의 모델 압축(compression) 

 

** 참조 ::  FlexGen :: 1개의 GPU에 큰 모델을 탑재

 

 

활용/사용

ICL(In-Context Learning) ::인컨텍스트 러닝

  • 프롬프팅 방법 중의 하나
  • 태스크 설명문과 태스크 질문 및 정답 쌍으로 구성된 예시들(examples), 질문으로 이루어진 프롬프트(prompt)를 자연어 형태로 입력하면, 주어진 입력 정보를 참고하여 모델이 답변을 생성하는 방법
  • 몇 가지 예시만으로 언어모델이 태스크를 학습
  • Training-free learning(추가학습 없이 해결)
  • GPT-3는 여러 태스크에서 인컨텍스트 러닝으로  기존 미세조정된 모델들을 뛰어넘는 성능을 달성
  • Scalable
  • 어떤 원리로 작동하는 것일까? 규명을 위한 여러 가지 가설...을 기반으로 연구된 자료 존재

CoT(Chain-of-Thought)

  • 입력과 출력 사이의 중간 추론단계(intermediate reasoning steps)를 시연형태로 추가

재귀적 프롬프팅

  • compositional generalization 능력

특수활용

  • LaMDA : 대화 애플리케이션,  검색모듈, 계산기 및 번역기,  외부도구 호출 기능
  • WebGPT : 웹 브라우저와 상호작용
  • PAL : Python 인터프리터를 통한 복잡한 기호추론 기능 제공
  • 다양한 종류의 API 호출 기능( 계산기, 달력, 검색, QA, 번역)
  • LangChain 프로젝트
  • ChatGPT Plugin 프로젝트
  • 국내, CLOVA X,  네이버 내부 및 제휴사 API만 연동.. 

 

Augmented LLM

  • Augmented Data와는 조금 다르다?
  • LLM을 추론(reasoning) 및 도구사용(use tools) 관점에서 강화한 모델을 칭함
  • Retrieval Augmented Generation(RAG) :  Information Retrieval,    retriever/generator , LG AI센터, Naver, KT
    • 환각 문제를 해결하고자...
    • 단순 텍스트 형성이 아닌  정보검색(IR : Information Retrieval) 차원으로 확장
    • 검색 문서 기반으로 응답을 생성
    • 사용된 문서를 참고 문헌으로 표현하는 기술
    • 신뢰성 향상, 출처 인용
    • New Bing,   Perplexity.ai, Google 검색

 

 

Evaluation Data, 평가 데이터

  • 언어생성 능력 :   LAMBADA(문장을 완성), XSum(문서를 요약)
  • 지식활용능력 : Closed-book QA 태스크(사전에 학습한 지식만을 이용해 답변):: Natural Questions, ARC, Truthful, Open-book QA 테스트(외부 지식을 활용해 답변) ::Wikipedia
  • 추론 능력 :   일반상식 추론:: PiQA, HellaSwag, WinoGrande,   수학적 논리테스트:: GSM8K
  •  

모델경량화 

  • 양자화( quantization )  :: numerical precision,    integer quantization....  실제 추론 시에는 integer값, scale값, zero값을 저장해 놓고 이를 원해 실숫값으로 복원해서 사용
  • 지식증류( knowledge distillation ) :: teacher-model, student-model
  • 가지치기( pruning )

 

OpenSource LLM

Falcon, Llama, Claude, QWen

 

한국어 OpenSource LLM

  • 소스 코드 및  recipe가 공개된 것인지?  훈련된 한국어 전용 모델이 공개된 것인지?
  • K(G)OAT
    • IA3 방법 ( > LoRA 방식보다 더 효율적인 방법론 )
    • KoAlpaca 모델을 미세조정(Fine-Tunning)
    • 학습에 사용된 데이터셋은  KoAlpaca v1.1을 활용해 프롬프트 구성을 수정하여 사용
    • A5000 GPU 2장,   4 epoch...  >  226분 ( 4시간 미만 )
  • KoAlpaca
    • 데이터셋 : Alpaca 데이터셋의 지시어를 DeepL로 번역 후,  GTP-3.5-turbo를 사용해 출력을 생성(한국어)
    • 미세조정(Fine-Tuning) : LLaMa와 Ployglot-ko모델을 기반으로 학습
  • KoVicuna
    • 데이터셋 : ShareGPT( ChatGPT와 사용자 간의 대화 데이터) 데이터를 한국어로 번역(한국어)
    • 미세조정(Fine-Tuning): LLaMa모델 기반으로 학습(training)
  • Eleuther의 Polyglot-Ko (  1.3B, 3.8B and 5.8B, 12.8B      Korean autoregressive language models )
    • 블로그, 뉴스, 특허, 위키피디아
    • 863GB의 텍스트
    • GTP-NeoX를 기초모델로
    • Tokenizer : 30,003개의 vocab크기
    • 형태소 기반의 Byte level BPE( Byte-Pair Encoding)
    • 형태소 분석 : MeCab
    • 1.3B, 3.8B, 5.8B, 12.8B
  • KORani
    • ShareGPT 영어버전과 한국어 번역 버전
    • human과 gpt에 해당하는 대화의 첫 번째 부분과 두 번째 부부만 추출하여 학습
    • LLaMa와 Ployglot-Ko모델을 기반
    • A100 40GB GPU 8장
  • KULLM
    • 고려대학교 NLP&AI 연구실과 HIAI연구소
    • Ployglot-Ko모델을 기반 LoRA를 사용하여 학습 ( KU LLM모델 구축)
    • A100 GPU x 4장,      5 epoch
    • PEFT 라이브러리 사용( LoRa)
    • GPT4-LLM, Dolly, ShareGPT를  DeepL로 번역 ( 한국어 )
    • 150만 개의 한국어 데이터셋
  • NA-LLM
  • LLaMA-2-Ko
    • LLaMA2를 기반으로 최적화된 Transformer 구조 기반의 자동회구 언어모델
    • 확장된 Vocab
    • 한국어 말뭉치를 추가 사전에 포함
    • 기존 32,000 크기의 LLaMa2의 vocab   >  한국어 vocab을 추가  > 46,336 크기의 vocab으로 확장
  • komt
    • LLaMA2 모델을 기반
    • 번역된 데이터를 사용하지 않음.
    • KorQuad, AIHub, KISTI AI데이터셋,  순수 한국어 데이터셋을 활용
    • 각 작업(Task)에 맞는 다중 작업 데이터셋을 구축
    • 구축된 데이터를 활용하여 학습 후, 모델을 만듦
  •  Ko-Platypus
    • KOpen-Platypus 데이터셋을 활용 ( Open-Platypus를 DeepL을 사용해 번역, 25,000개의 데이터를 수작업으로 체크)
    • LLaMA-2-Ko를 미세조정(Fine-Tuning)한 모델

 

LLM 자체 학습  ( 자체 엔진과 자체 학습은 구분하여야 함. ) :: 국내

  • Naver Clova의 HyperClova
  • Kakao Brain의 KoGPT
  • SKT의  에이닷
    • 전화통화  요약
    • 프로필 이미지  생성
  • KT Enterprise의 믿음
    • 210B, 한/영 다중언어, 초경량모델, 멀티태스크,
    • 통합 SW (Full Stack) ::   다양한 GPU클라우드 인프라,  개발 및 운영 플랫폼,  LLM 파운데이션 모델, 도메인 적응 학습을 위한 개발 도구
  • LG AI Research의 Exaone,     이중언어 모델(한국어/영어), 전문가용 대화형 
  • NCsoft의 VARCO
    • VARCO 기반 교육전용 언어모델 구축 예정(23.10.16)
  • Saltlux의 Luxia
  • 코난테크놀로지의 Konan
    • 기업내부에 설치-운영, 데이터 유출 우려 원천방지
    • 벡터 검색을 통한 답변의 증강
    • 근거 제시가 가능
    • 중형 LLM 개발:13B,41B,    ( LLaMa2:7~70B,  Dolly 2.0:12B, Vicuna 13B, Falcon 40B) :: 수십 Billion 내외 )
    • 토큰은  5천억, 7천억 개
    • 파라미터 크기는 크지 않게, 토큰은 많이 학습하는 접근법
    • 인피니밴드로 묶인 H100 x 8,  서버 8대,  (H100 memory: 80GB or 188GB )
    • 23일 소요
    • 인피니밴드 필요성 :  20Gbps네트워크에서 1 echo 수행 시, 모델파라미터 전송에 34초 소요.   를 인피니밴드에서 1초 소요
    • 학습 데이터 :    AIHUB, 위키피디아( 이상 공개 데이터),  뉴스, GitHub (이상 구매 데이터),   Books3, Gutenberg 등의 영문데이터
    • 한국어 토큰(Token) 수 : 3,318억 개   ( ChatGPT: 5.9억 개,    LLaMA-2: 12억 개 )
    • 여러 태스크로 훈련하였을 때가  단일 태스크로 훈련하였을 때보다 약 10%p 성능이 더 나았다.
    • 저사양 서버 환경에서 운영 가능 :: RTX 3090 x 2장 ... 3D병렬화, bfloat16,  Zero Redundancy Optimizer, FlashAttenstion
    • 고객사 데이터, 전체 미세조정 훈련 시,   H100-80GB * 8 장 ( 6초/1echo ),  RTX6000-48GB * 8장( 30초/1echo )
    • PEFT 기법 중 QLoRA :  GPU메모리 절감
    • 검색 증강 생성 (RAG),  Re2G, 벡터기반 시맨틱 검색과 결합한 RAG, 
    • 문장 생성, 질문-답변, 요약, 고쳐쓰기(/교정), 분류, 번역
    • (BM) 업무문서/보고서 초안 생성, 계약서 검토, 고객 맞춤 상담(AICC, 고객 질의에 대한 고객 개인정보, 보험약관, 고객 개인정보와 금융상담 등에 기반한 답변생성),  고객 상함 후처리 자동화( 자동요약)
  • 업스테이지의  Solar-0-70b모델,  한국어/영어,  LLama2를 Fine-Tunning

 

한국어 LLM 리더보드

  • Open Ko-LLM Leaderboard

 

 

신경망 모델 & LLM 배포 및 운용 : 모델 호환성,  상용서비스

ONNX Runtime : Open Neural Network Exchange,   Miscosoft and FaceBook(Meta),    run on device or on browser, also support custom model,    

 

OpenNMT 사이트에서는 다양한 Transformer모델 기반의 모델을 converting 및 loading하는 샘플 코드가 있음. 기계번역모델 뿐만 아니라, 음성인식 등 multimodal LM을 사용할 수 있음. 아마도 최초는 Huggingface에 있는 듯합니다.

 

LangChain    a  framework for developing applications powered by language models.

 

LangSmith

 

Fabric       build AI agents with its drag-and-drop interface

 

ETL tools      Extranction, Transform and Load    process.       such as   

  • Talend Open Studio(TOS)
  • Integrate.io
  • Hevo Data
  • Fivetran
  • Stitch
  • AWS Glue
  • Azure Data Factory
  • IBM DataStage
  • Informatica PowerCenter
  • Apache Airflow

 

 

 

 

 

고려 대학교 NLP&AI 연구실의 실험환경

  • 기본 모델 :  Eleuther에서 공개한 Ployglot-Ko  5.8B, 12.8B   한국어 LLM모델  (  868GB의 한국어 데이터, 블로그, 모두의 말뭉치, 위키 등 다양한 도메인)
  • 지시어 데이터셋 : GTP-4-LLM, Dolly, ShareGTP를 한국어로 번역
  • 학습 기법 :  SFT(Supervised Fine-Tuning)
  • 파라미터 효율적인(parameter-efficient) 학습 : LoRA를  query key value attention 레이어에 적용.
  • 외부 요소 :    A100   GPU( 80GB VRAM) x  4장,   5 epoch...
  • LoRA 학습 : PEFT 라이브러리 사용
  • 학습 과정의 메모리 효율성  최적화 :  BitsandBytes를 활용
  • Criterion :  AdamW optimizer
  • Learning Rate :  최대치를 3e-4
  • Warm-up 코사인 스케줄러 : 5%
  • Gradient explosion 완화 :  grandient clipping 적용
  • Batch 사이즈 :  256  (  128, 256, 512 중에서 )
  • LoRA Rank : 16
  • LoRA Alpha : 32
  • Decoder :  temperature=0.1,  top k=40,  p=0.75,    do sample=False,    num beams=4,    repetition penalty=1.4  max new tokens=400

 

사업적 측면에서 Large AI

  • 요구사항
    • 맞춤형
      • 우리회사의 데이터를 잘 이해하는 모델
      • 우리가 필요한 몇 가지 기능이 우선 잘되었으면...
      • 오랜 구축시간이 필요하지 않고 빠르게 구축되었으면...
      • 우리 데이터가 외부에 노출되지 않도록 내부에서 구축...
    • 효율성
      • 빠른 속도의 응답이 필요
      • 높은 성능이 필요
      • 몇 가지 기능만을 적은 비용으로 구축이 가능하였으면...
    • 신뢰성
      • 우리 데이터에서는 환각현상이 없이 정확한 정답만을 제공하였으면...
      • 국민을 대상으로 하는 서비스를 만들 것이므로 비윤리적인 응답은 제공하지 않아야...
    • 편리성
      • AI를 잘 모르는 우리 직원들도 쉽게 서비스를 개발할 수 있었으면....

 

  • Fast Adaptation  :: 빠르게 고객 특화 모델을, 성능을 확보하면서  만드는 방법론
    • 일반적인 AI의 학습 방법 :  해당 영역의 어휘나 지식을 포함하는 적응학습용 데이터, Full Fine-tuning...  수많은 GPU... 몇 달 이상의 오랜 학습시간..
    • 효율적인 학습밥법 : PEFT(Parameter-efficient Fine Tuning)..
    • 더 효율적인 방법 : Prompt engineering기법,   zero-short/few-shot/instruction/in-context learning/
  • 초경량화 기술  :: 추론에 소요되는 비용을 최적화... 운용 비용 절감..
    • 경량화 방법 :  지식증류(Knowledge Distillation), 양자화(Quantization), 가지치기(Pruning)....   1/10로 축소 가능..
  • 유효성, 신뢰성, 윤리성 :: 정확성 이외에도 갖추어야 할 소양 항목
    • 멀티 태스크 학습( 다양한 질문 유형 대응 가능하도록) ::  FLAN 데이터셋, Super Natural Instruction.
    • 강화학습( 사용자가 좀 더 원하는 형태의 응답으로 ):: CharGPT, Bard, Claude 데이터셋과 같은 실제 대화형... 또는 합성데이터
    • FCC(Factual Consistency Checker) 기술 :: 사실적 일관성 여부 검토
    • RAG(Retrieval Augmented Generation) 기법 :: 검색 증강형 생성.
    • 강화학습을 위한 평가지표,   윤리성 정의 분류 체계

 

 

 

Reference

  • 초거대 언어모델 연구 동향, 업스테이지 박찬준 외,  정보과학회지,  2023.11
  • 생성형 AI시대 거대언어모델의 기술동향,  LG AI연구원, 김소연 외, 정보과학회지, 2023.11
  • 코난 LLM : 한국어 대규모 언어모델,  코난테크놀로지, 양승현 외, 정보과학회지, 2023.11.
  • 한국어를 위한 지시어 튜닝 조사 연구: 거대 언어모델 학습 및 적용, 고려대학교, 이승준외, 정보과학회지, 2023.11
  • Large AI to Everywehre, 초거대 AI   믿:음,  KT융합기술원, 장두성 외, 정보과학회지, 2023.11
  • LLM 기반의 네이버 검색 서비스 Cue: ,  Naver 유홍연 외, 정보과학회지, 2023.11
  • https://medium.com/ 

 

 

 

 

추가작성( 23.12.26)

Tree of GPTs & LLMs

 

  • 나무(Tree) 구조의 뿌리는   Word2Vec와 그 친구들임.
  • 메인 가지(Branch)는
    • 인코더(Encoder)만 ::  BERT가 대표.  Cotinuous vector representations, downstream tasks( text classification, sentimental analysis, named entiry recognition), converting raw text into a sequence of tokens and generating contextual embeddings of each tokens, feature extraction.  self-attention mechanism, capture long-range dependencies and learn contextual representation. Word-like tokens( e.g. WordPiece, SentencePiece ). NOT traditional word vectores. initial embeddings  in GPT are not fixed and can be further refined....
      • 1. Tokenization :: Convert input text into a sequence of word-like tokens( words or subword units ) using an appropriate tokenizer
      • 2. Embedding :: Map each tokens to its initial embedding using an embedding matrix learned during training
      • 3. Postional encodeing :: Add postional encodeings to these embeddings to capture information about their positions within sequences
      • 4. Transformer layers :: Process these position-aware embeddings through multiple self-attention and feed-forward layers, refining contextual relationships between tokens at each layer.
      • At the output layer, the decoder produces logits for all the possible tokens in its vocabulary.
      • 5. Softmax activation :: apply softmax activation on logits to obtrain probability distributions over all potential tokens for predicting the next token in a sequence
      • The ‘decoding’ process essentially refers to generating output text based on this estimated probability distribution conditioned on preceding tokens and context information provided as input to the model.
      • As a result, GPT generates contextualized representations for each token in the sequence by capturing both local and long-range dependencies across tokens. This approach allows GPT and other Transformer-based LLMs to better understand linguistic patterns and relationships compared to fixed-word vector methods.
    • 디코더(Decoder)만 :: GPT, Bard, LaMDA, generate output text based on the givien context( e.g., a prompt ), text generation tasks( story generation,  conversation modeling, or completing sentences )
    • 인코더-디코더::  T5, BART가 대표,  machine translation, summarization and question-answering

Transformer Architecture

The&nbsp; encoder-decoder structure of the Transformer architecture Taken from &ldquo; Attention Is All You Need &ldquo;

 

 

 

LangChain

  • LangChain Libraries   ::  langchain-core,  langchain-community, langchain 
  • LangChain Templates
  • LangServe
  • LangSmith

https://github.com/langchain-ai/langchain/tree/master

 

 

Infra  cost 

$45.0 per hour    for   8 NIVIDIA   A100 GPUs ( 640 GB )

$0.6 per hour for one NVIDIA   T4 ( 14GB )

 

CO2 Emissions:

 

 

Fine-Tunning Pricing matrix

pricing matrix of fine-tunning for OpenAi's models
pricing matrix of fine-tuning for VerTexAI's modles

728x90
반응형

+ Recent posts