방카@Dev
[AI]LLM을 활용한 실전 AI 애플리케이션 개발_2장.트랜스포머 아키텍쳐 본문
https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=343185652&start=slayer
토큰임베딩 : 임베딩을 통해 숫자 집합인 임베딩으로 입력값 변환
위치임베딩 : 트랜스포머는 순차적인 처리 방식을 버리고 모든 입력을 동시 처리 하기 때문에 순서 정보가 사라지므로, 위치 인코딩을 통해 순서 정보 추가
인코더(Encoder) : 언어를 이해하는 역할
디코더(Decoder) : 언어를 생성하는 역할
자기회귀적(Auto-regressive) : 앞에서 생성한 토큰을 기반으로 다음 토큰을 생성. 이렇게 순차적으로 생성해야하는 특징을 인과적 또는 자기회귀적
어텐션
- 단어와 단어 사이의 관계를 계산해서 그 값에 따라 관련이 깊은 단어와 그렇지 않은 단어를 구분할 수 있어야 함
- 관련이 깊은 단어는 더 많이, 관련이 적은 단어는 더 적게 맥락을 반영
셀프 어텐션(self-attention) : 입력된 문장 내의 각 단어가 서로 어떤 관련이 있는지 계산해서 각 단어의 표현을 조정하는 역할
멀티 헤드 어텐션 : 토큰 사이의 관계를 한 가지 측면에서 이해하는 것보다 여러 측면을 동시에 고려할 때 언어나 문장에 대한 이해도 상승,
헤드의 수만큼 어텐션 연산을 수행
Q,K,V
- query : 입력한 검색어
- key : 쿼리와 관련이 있는지 계산하기 위해 문서가 가진 특징(예 문장 속의 각 단어)
- value : 토큰 임베딩 값
- 쿼리와 키의 벡터와 벡터를 곱해 관계를 계산하면 그 관계도에 따라 주변 맥락 반영 가능, 문자열이 일치하지 않더라도 유사한 의미의 키로 저장된 정보를 검색 가능
- 토큰 임베딩을 변환하는 가중치 Wq, Wk 이 가중치를 통해 토큰과 토큰 사이의 관계를 계산하는 능력을 학습
- Wr 가중치를 통해 값도 토큰 임베딩을 변환
- 쿼리와 키의 관계를 계산한 관련도 값과 토큰 임베딩을 값 가중치(Wv)로 변환한 값을 가중합하면 문장 속의 단어를 재해석한 결과를 얻을 수 있음
- 어텐션을 거치고 나면 입력과 형태는 동일하면서 주변 토큰과의 관련도에 따라 값 벡터를 조합한 새로운 토큰 임베딩 생성
정규화 :
- 딥러닝 모델에서 입력이 일정한 분포를 갖도록 만들어 학습이 안정적이고 빨라질 수 있도록 하는 기법
- 특정 차원에서 정규화를 수행하는 층 정규화
- 각 토큰 임베딩의 평균과 표준편차를 구해 정규화를 수행. 문장별로 실제 데이터의 수가 다르더라도 각각의 토큰 임베딩 별로 정규화를
수행하기 때문에 정규화 효과에 차이가 없음
피드포워드 :
- 어텐션 연산이 입력 단어 사이의 관계를 계산해 토큰 임베딩을 조정하는 역할을 한다면 전체 입력 문장을 이해하는 연산이 필요
- 데이터의 특징을 학습하는 완전 연결 층 (fully connected layer)
- 멀티 헤드 어텐션이 단어 사이의 관계를 파악하는 역할이라면 피드 포워드 층은 입력 텍스트 전체를 이해하는 역할
- 선형 층, 드롭아웃 층, 층 정규화, 활성 함수로 구성
마스크 어텐션 :
특정 시점에는 그 이전에 생성된 토큰까지만 확인할 수 있도록 마스크 추가
크로스 어텐션 :
쿼리는 디코더의 잠재상태를 사용하고, 키와 값은 인코더의 결과를 사용
밑의 유튜브는 3Blue1Brown의 트랜스포머 시각화 강의, 트랜스포머에 대해 궁금했던 부분이 해당 강의를 보면서 해소되었다.
https://www.youtube.com/watch?v=wjZofJX0v4M&t=1s
https://www.youtube.com/watch?v=eMlx5fFNoYc&t=2s
'AI' 카테고리의 다른 글
[24.12.11]서강대학교 AI•SW대학원 데싸•인공지능전공 합격 (1) | 2024.12.13 |
---|---|
AI관련 참고자료 (1) | 2024.10.02 |
[GenCon]생성형AI 컨퍼런스_Gencon AI Conference for Dev 후기 (1) | 2024.10.01 |
[AI/Langchain][인프런]모두를 위한 대규모 언어 모델 LLM Part 2 - 랭체인(LangChain)으로 나만의 ChatGPT 만들기 (0) | 2024.07.13 |