It's going to be one day 🍀

안녕하세요! 매일 매일 공부하려고 노력하는 백엔드 개발자 지망생의 공부 흔적입니다.

자연어/LLM

LLM 프로젝트 공부 - 섹션 2. Llama 1 모델 리뷰

2jin2 2023. 10. 10. 15:49

Llama 2는 Mata(Facabook) 에서 무료로 공개한 연구와 상업적 용도로 활용할 수 있는 LLm이다.

 

Llama 1 Paper

1) Abstract

- LLaMA 라는 파운데이션 모델을 소개함.

- 이 모델들을 수조 개의 초큰에 대해 훈련시키며, 공개적으로 이용 가능한 데이터셋만을 사용하여도 최첨단 모델을 훈련시킬 수 있다는 것을 보여줌.

2) Introduction

- 주어진 컴퓨팅 예산으로 최상의 성능을 달성하는 것은 가장 큰 모델이 아니라, 

2.1) Pre-training Data

- 일반 사람들도 접근 가능한 데이터들을 사용해서 학습시킴.

스택 오버플로우에 대해서 공부

- 토큰화 후 전체 훈련 데이터셋은 대략 1.4T의 토큰 (1.4조개)

2.2) Architecture

- 트랜스포머 아키텍쳐 사용 중

2.3) Optimizer

- 모델은 AdamW 옵티마이저를 사용하여 훈련함.

2.4) Efficient implementation

- 65B(650억) 파라미터 모델을 훈련할 때, 우리의 코드는 80GB의 RAM을 가진 2048개의 A100 GPU 에서 초당 약 380 토큰을 처리함. 이는 데이터셋에 1.4T 토큰이 포함되어 있을 경우, 훈련이 대략 21일이 걸린다는 것을 의미 ㄷㄷ...

 

 Byte Pair Encoding (BPE) 알고리즘 개념 소개

자연어처리를 위한 Vocabulary 집합 구성 방법

1) 문자 단위 구성

2) 단어 단위 구성 -> 데이터 효율성 측면에서는 더 효율이 좋음.

3) Byte Pari Encoding(BPE)

텍스트 데이터를 효율적으로 표현하기 위한 압축 알고리즘. 이 방법은 텍스트 데이터를 가변 길이 바이트 쌍으로 효편하여, 빈도가 높은 문자열을 짧은 바이트 쌍으로 나타내는 방식으로 동작함.

* BPE 알고리즘은 다음과 같은 과정을 거쳐 문자열을 효율적으로 인코딩함.

1. 초기 단계에서는 각 문자를 기본 단위로 취급하고, 빈도수를 계산함.

2. 가장 빈도가 높은 연속 문자 쌍을 찾아 새로운 단위로 합침.

3. 더 이상 합칠 수 있는 문자 쌍이 없거나, 지정된 단어 집합 크기에 도달할 때까지 과정 2를 반복함.

- BPE를 사용하면 자주 등장하는 문자열이 짧은 코드로 표현되므로, 데이터 저장과 전송이 효율적으로 이뤄짐.

-요약하자면, BPE는 텍스트 데이터의 압축과 자연어 처리에서 유용한 기법으로 사용되고 효율적인 데이터 표현과 동적인 어휘 사전 구축을 가능하게 함.