cursor AI 소프트웨어 개발자를 위한 AI 기반 코드 편집기 일반적인 코드 에디터에 인공지능을 통합하여, 보다 효율적으로 코드를 작성하고 디버깅할 수 있도록 돕는 것이 목적
🤖 LLM에서의 Emergence 사례 📌 GPT와 같은 모델에서 관찰된 Emergent 능력: GPT-2까지는 어려웠던 능력이 GPT-3 이상부터 갑자기 등장 예: 산술 계산, 프로그래밍 능력, 체계적인 추론 등 모델 크기가 임계치를 넘으면서 비선형적으로 새로운 능력이 튀어나옴
📚 관련 논문: "Emergent Abilities of Large Language Models" (Wei et al., 2022) → 성능이 선형적으로 증가하다가 어느 순간 갑자기 뛰는 지점이 있음
Simple LLM
트랜스포머(Transformer) 아키텍처 기반
입력된 문장을 이해하고, 그 다음 단어나 문장을 예측하여 출력 생성
일반적으로 텍스트 생성, 요약, 번역, 질의응답 등에 사용
입력/출력 모두 텍스트
대규모 텍스트 데이터로 사전 학습됨 (예: 책, 웹사이트, 코드 등)
대표 모델: GPT-2, GPT-3, BERT, RoBERTa
SLM (Small Large Language Model)
작지만 준수한 성능을 내는 LLM 모델
경량화를 통한 훈련 비용/추론 비용 절감
메모리 사용량 ↓, 속도 ↑, 배포 용이
성능은 대형 LLM에 비해 제한적이지만 특정 도메인에서는 충분히 효과적
최근에는 기업들도 온디바이스 AI로 SLM을 적극 채택 중 (ex 삼성, 애플)
대표 모델 : TinyLLaMA, DistilBERT, MobileBERT, Phi-2, Gemma 2B
Multi Modal LLM
여러 종류의 데이터를 Input으로 받을 수 있는 LLM 모델
텍스트 외에도 이미지, 음성, 영상 등을 동시에 처리 가능
여러 종류의 데이터를 하나의 모델에서 입력/출력으로 처리
기존 텍스트 중심에서 확장된 형태
인간처럼 복합적인 감각 이해를 목표
GPT-4V(ision): 텍스트 + 이미지 입력 가능
대표 모델: Gemini 1.5, Claude 3, Flamingo (DeepMind), Kosmos-2, Gato (DeepMind)
Reasoning LLM
추론하는 LLM
모델의 출력 결과를 활용 (답변을 길게 내놓음 = 활용할 수 있는 가지 수가 많아짐)
일반 LLM의 비해 ouput을 훨씬 많이 생성 (token을 많이 사용, computing resource가 많이 필요)
모델의 출력 결과를 활용inference에 더 많은 시간 소요
잘 번역하는 것을 볼 수 있음
어떻게 추론을 많이하게 할까? Modifying Proposal Distribution : reasoning 과정을 유도할 가능성이 큰 토큰의 생성 확률분포 조정(re-rank)
- System Prompt (<think>, <answer> 태그 + RL) + 강화학습
Agentic LLM
기본적이 LLM과 달리 text를 넣었을 때, 함수를 실행시킬 수 있음
ex) “날씨 알려줘” → 일반 LLM: “오늘 서울의 날씨는 맑음일 거예요.” → Agentic LLM: 실제로 get_weather(city="Seoul") API를 호출해서 진짜 날씨 데이터로 답변
사실 기반 응답
모델이 "지어내는" 게 아니라 실제 데이터를 기반으로 응답 가능
복잡한 작업 자동화
검색, 계산, 데이터 분석, 이메일 전송 등 다중 단계 작업 자동 실행
도구 활용 능력
날씨 API, 계산기, 브라우저, 파일 시스템 등과 연동 가능
인터랙티브한 작업 흐름
사용자와 상호작용하며 목표 달성형 에이전트처럼 행동
Distillation
대규모 모델의 reasoning 품질을 작은 모델로 학습시키는 방법
두 모델이 같은 프롬프트를 받았을 때 student 모델이 최대한 teacher 모델의 토큰 확률 분포를 모방하도록 학습
벡터와 차원
벡터 : 순서가 있는 순자의 나열
각 벡터가 얼마나 유사한지는 각 점 간의 거리로 판단할 수 있음
[수학적 사실] 차원이 증가할 수록 각 점(데이터) 간의 거리가 멀어짐
차원의 저주 : 공간의 차원이 높아질 수록 (max dist / min dist) 값은 1로 수렴 > 의미를 뽑아내고 분석하는게 어려워짐 > 딥러닝은 이런 것들을 잘 다룬 모델이라고 볼 수 있음 ( 고차원의 데이터가 들어왔을 때 이를 적절히 차원을 줄인 공간에 재배치 하는 과정이 포함되어있음)
최종적으로 선 하나만 그으면 개 고양이를 구분할 수 있도록 만듦
Encoder - Decoder 구조
input을 차원축소된 공간으로 재배치하고, 여기서 다시 일련의 연산을 통해 차원을 확대하는 Decoder를 붙임
ouput에는 input 차원과 동일한 차원을 설정하고, 특정한 학습을 시킴
딥러닝 모델의 학습 방법
예측값과 정답값의 차이를 이용
모델 학습(Gradient Descent) : 예측값과 실제 값의 차이로 손실함수(Loss Function)를 만들고, 각 파라미터로 손실함수를 편미분하면, 기울기가 나오는데, 이를 바탕으로 각 파라미터를 업데이트
새 파라미터 = 이전 파라미터 - 상수(learning rate) * gradient
Backpropagation : Gradient Descent와 ChainRule 연산을 이용해 딥러닝 모델의 파라미터를 업데이트 하는 방법
이 작업을 특정 기준에 도달할 때까지 반복함
Word2Vec
단어를 고차원 벡터 공간에 임베딩하는 모델로, 비슷한 의미(근접한 위치)의 단어들을 가까운 벡터로 표현
중간 파라미터 matrix를 단어를 나타내는 embedding으로 활용
두 가지 대표적인 학습 방식
CBOW (Continuous Bag of Words)
주변 단어(문맥) → 중심 단어(빈칸) 예측
빈칸 채우기
Skip-gram
중심 단어 → 주변 단어 예측
힌트 하나로 주변을 유추
문장이 빈칸 단어를 예측하도록 학습
각 단어의 one-hot 벡터와 embedding matrix의 행렬곱이 각 단어의 벡터
Word2Vec은 문장 일부만 보고 예측하며, 전후 문장까지는 고려하지 못함!! 1. Word2Vec은 전후 문맥을 전체적으로 고려하지 않음 → 단순히 주어진 짧은 주변 단어(context window)만으로 학습 2. 그 짧은 context 내에서 더 자주 등장한 패턴을 기준으로 → 예: "this is a" 뒤에는 "ring"이 더 자주 나왔다면, 그쪽으로 embedding이 조정됨
🔁 그래서 나온 해결책: 문맥 양방향 모델들 ▶️ 예: BERT (Bidirectional Encoder Representations from Transformers) 문장의 앞뒤 전체 문맥을 모두 보고 중앙 단어를 예측 (Masked Language Modeling) 예: “This is a [MASK] that I bought yesterday.” → 모델은 “ring”인지 “laptop”인지 앞뒤 문맥을 모두 보고 예측 가능
언어 모델
텍스트 데이터는 순서가 중요한, 시퀀스 데이터
RNN
입력을 순서대로 처리하는 신경망 구조
이전 정보(문맥)를 기억하면서 다음 단어를 예측함
데이터를 차례대로 입력, 그 과정에서 모델에 텍스트 데이터의 입력순서가 반영됨
장기 기억 어려움 (long-term dependency 문제)
계산 느림 (순차 처리)
Seq2seq
Encoder-Decoder 구조로 latent space를 활용해서 input이 길어지더라도 정보 손실을 줄임
RNN을 두 개 연결해서 입력 시퀀스를 출력 시퀀스로 번역
Encoder: 입력 문장을 벡터로 요약
Decoder: 그 벡터를 기반으로 새로운 문장 생성
문장을 벡터 하나로 요약하면 정보 손실 큼 → 문장이 길어질수록 성능 저하
Attention
Decoder 파트에서 각 단어 생성 시 참조하는 Encoder 파트의 각 단어들 정보를 관련된 부분 weight을 키워서 생성 (중요한 부분에만 집중)
Seq2Seq의 단점 보완!
디코더가 인코더의 전체 단어들을 "가중치"로 골라보게 함
긴 문장도 효율적 처리
어느 부분이 중요한지를 학습 가능
Transformer
Attention을 좀더 복잡하게 많이 쌓음
RNN/순차 구조를 완전히 제거하고, Self-Attention만으로 문장을 병렬 처리
Encoder: 입력 문장 분석 / Decoder: 새 문장 생성 (이 구조는 번역기처럼 입력-출력쌍이 필요할 때)
병렬 처리 가능 → 학습 속도 급증
장기 의존성 처리에 매우 강력
Bert
텍스트 분류, 감성분석, 질의응답, 텍스트 추출과 같은 다운스트림 NLP 테스크에서더 낳은 성능을 제공하는 것을 목표로 개발됨
Transformer의 Encoder만 사용
문맥을 양방향으로 이해하는 사전학습 모델
문장에서 일부 단어를 가려놓고 예측 ([MASK] 학습)
문장 간 관계 예측 (NSP)
문장의 의미 이해(분류, 추론, QA)에 강력
검색, 감성 분석, 요약 등에 활용
생성(텍스트 생성)에 적합하지 않음
GPT
Transforemr의 자연스러운 시퀀스 생성 능력을 활용하여 인간처럼 읽고 쓸 수 있는 언어 생성 모델을 목표로 개발됨