LLM (5) 썸네일형 리스트형 라마 모델, 코드와 그림으로 이해하기 파트 3 - RoPE를 중심으로 안녕하세요, 수달이입니다. 벌써 시리즈의 세 번째 글이네요. 오늘은 그동안 배운 것들을 종합하여 LlamaModel 클래스를 완성해 보겠습니다. 우선 구성요소부터 살펴볼까요? تLlamaModel 구성요소 살펴보기def __init__(self, config: LlamaConfig): super().__init__(config) self.padding_idx = config.pad_token_id self.vocab_size = config.vocab_size self.embed_tokens = nn.Embedding(config.vocab_size, config.hidden_size, self.padding_idx) self.layers = nn.ModuleList( .. 라마 모델, 코드와 그림으로 이해하기 파트 2 안녕하세요, 수달이입니다. 라마 모델 이해하기 두 번째 파트! 오늘은 디코더 (Decoder) 모듈에 대해 다루겠습니다. 디코더의 8할은 어텐션 (Attention) 모듈이라고 할 수 있는데요. 지난 포스팅을 열심히 읽으신 분이라면 이미 디코더의 반 이상은 이해하신 셈이죠. ت 그럼 가벼운 마음으로 시작해 볼까요?디코더 구성요소 살펴보기def __init__(self, config: LlamaConfig, layer_idx: int): super().__init__() self.hidden_size = config.hidden_size self.self_attn = LlamaAttention(config=config, layer_idx=layer_idx) self.mlp = Llam.. 라마 모델, 코드와 그림으로 이해하기 파트 1 안녕하세요, 수달이입니다. 오늘부터 메타 라마(Llama) 모델의 아키텍처를 깊-게 살펴보는 새로운 시리즈를 시작하겠습니다. 논문으로 공부하는 것도 좋은 방법이지만, 이번 시리즈에서는 이미지와 HuggingFace Transformer 코드를 활용하여 좀 더 쉽게 배워보고자 합니다. 그럼 공부 순서부터 함께 볼까요? LlamaAttentionLlamaDecoderLayerLlamaModelLlamaForCausalLM최근 언어 모델들은 대부분 트랜스포머를 기반으로 하는데요. 이 트랜스포머의 핵심인 어텐션 모듈부터 시작해서, 점차 범위를 넓혀 디코더, 베이스 모델, 언어 모델링 모델 순으로 살펴보겠습니다. 나무에서 시작하여 숲을 이해하는 눈을 키우는 것이죠. 그럼 어텐션 모듈부터 시작해 볼까요? 출-발.. [Position Embedding] RoPE 로타리 포지션 임베딩 오늘의 토픽으로 들어가기 전에 지난 글을 빠르게 복습해 보겠습니다. LLM 세계의 대부 같은 모델, Transformer의 핵심은 self-attention이었죠. self-attention은 타겟 단어 앞/뒤의 모든 단어를 동시에 고려할 수 있어서, 왼쪽에서 오른쪽으로 프로세싱을 하는 이전의 모델들보다 좋은 성능을 보인다고 배웠습니다. 단, 지난 글에서 언급하지 않은 중요한 디테일이 하나 있는데요. 바로, self-attention은 position-agnostic, 즉 이웃 단어들의 정확한 위치를 알지 못한다는 점입니다 [2]. 즉, 이웃 단어들의 존재유무만 알 뿐 그 단어가 내 앞에 있는지, 그렇다면 얼마나 떨어져 있는지에 대한 개념이 없습니다. Position Embedding하지만, 문장에서는.. [Attention] Sliding Window Attention 슬라이딩 윈도우 어텐션 머신러닝, 딥러닝, AI를 공부하는 사람이라면 모를 수 없는 페이퍼, Attention Is All You Need! 이 페이퍼의 핵심은 self-attention이라는 개념입니다. 한 단어씩 한국어로 풀어보자면, 나 (self) 에 대한 관심 (attention) 인데요. 즉, self-attention은 자기 자신 (언어 모델에선 입력 문장이겠죠?) 의 이곳저곳에 주의를 기울이는 것입니다. Self-Attention 너무나도 유명한 너문장의 왼쪽에서 오른쪽으로, 일종의 "방향성"을 가지고 있었던 이전 아키텍쳐들 (예. RNN, LSTM) 과는 다르게, self-attention은 방향성 없이 앞/뒤 모든 위치의 단어를 고려할 수 있다는 점에서 획기적인 아이디어였습니다. 예를 들어, "어제 화성에 갔.. 이전 1 다음