dev.Log
Machine Learning 본문
1. Rule-base AI
특징을 인간이 입력
2. Machine Learning
특징을 직접 추출 (비지도 학습)
input * weight (특징) = output
데이터로 모델을 만듬
[history]
- 2014 seq2seq
- 2014 GAN
- 2015 Alexaa
- 2014 Deep mind
- 2015 ResNet
- 2015 TensorFLow
- 2016 PyTorch
- 2016 AlphaGO
- 2016 pix2pix
- 2016 TPU (tensor processing unit)
- 2017 Deepfakes
- 2017 Transformer (Google - 텍스트생성. 길이의 제한. 병렬처리)
- 2018 BERT (fine-tuning LLM)
- 2018 GPT
- 2019 EfficientNet (NAS / AutoML) => 뉴럴넷 모델을 뉴럴넷모델이 만듬..
- 2019 SuperGLUE
- 2020 T5
- 2020 C4 (dataset)
- 2020 GPT3 (zero-shot) => BERT의 500배 크기...
Whisper : 상황에 대한 이해 + 음성인식
CS 상담원 보조를 시켯더니 시간 당 해결수가 13.8% 증가하더라...
2달 짬 + AI == 6개월짬
데이터 라벨링도 인간보다 결과가 좋다..
아마존 MTurk이라는 데이터 레이블링 회사의 결과와 비교..
MTurk에 비해 1/20 비용으로 즉시 레이블링
- Autoregressive Model
Segment - Segment 와 비슷한 방식으로 동작함
다음 단어를 예측
Transformer : 여러가지 텍스트들이 순서대로 나열되어있을때 다음 단어가 어떤 단어에 집중하는지..
굉장히 큰 모델을 만들었더니 가능하더라
대량의 text를 줘서 학습시켰더니 감정 분류 기능이 생기더라..
더 키웠더니 요약기능이 추가되고
더 키웠더니 번역기능이 추가되고..
모델을 키우면 키울수록 기능이 생겨서 굉장히 모델을 키워봤고 그게 GPT..
- 코드 데이터를 학습하면서 추론 능력이 향상되고 정형 데이터 생성이 가능하게 되었다.
Instruction tuning : 명령/지시로 표현된 텍스트를 이해하여 지시한 작업을 수행
RLHF (Reinforce Learing From Human Feedback) : 성능향상, Alignment, 대량의 신규 데이터 자동 생성
[prompt engineering]
- zero shot : 예시 없이 바로 명령
- one-shot learning : 한개 예시 주면서 명령
- few-shot learning : 두세개 예시 주면서 명령
- chain of thought prompting : 이런 방식으로 생각하라고 가이드를 주는 것
- zero shot chain of thought : AI 모델이 이전에 학습하지 않은 문제나 작업에 대해서도, 그 문제를 해결하기 위한 논리적 추론 과정을 자동적으로 생성할 수 있다
1. 답변을 위해 필요한 적절한 컨텍스트 제공
2. 원하는 결과를 추출을 위한 프롬프트 작성
3. 원하는 포맷의 출력을 위한 프롬프트 작성
프롬프트 엔지니어링은 실험적 방법론에 기반하여, 한 번 그럴듯한 결과를 내는 것이 아닌, 원하는 결과를 정확히 의도한대로 항상 일관성 있게 내도록 만드는 것
chat gpt에게 세종대왕의 맥북 던진 사건을 물어보면 있었던 것처럼 그럴듯하게 답변하지만
Bing chat은 그렇지 않은것은.. 우선 context from web search result를 기반으로 정보를 생성
ICL (In-Context Learning)
- 답변을 위해 필요한 적절한 컨텍스트 제공
- 원하는 결과를 추출을 위한 프롬프트 작성
- 원하는 포맷의 출력을 위한 프롬프트 작성
User Prompt
context from vector search
assistant prompt
=> personalized answer generation
LLM을 통해 초개인화된 프로그램을 만드는 것이 가능해짐
Vector Search
- 임베딩 : 어떤 텍스트가 들어왔을때 벡터의 모음으로 만드는것 또한 LLM (BERT, GPT)
- 임베딩 벡터 : 실수의 집합 (1000차원이상)
- vector serach (distance or similarity)
- word embedding, sentence embedding
벡터 search를 통해 semantic search가 해야하는 풀텍스트 인덱싱, 형태소 분석, 유사어/다국어처리, 분산시스템 구성을 할 필요가 없게 되었다. 속도 문제. 성능문제가 여전히 있긴하다. ANN - approximate nearest neighbor 사용을 통해 속도문제로 모든 벡터를 비교하지 않고 근사값을 찾는 방법이 있는데 근사값을 찾다보면 성능이 떨어지고...
그 대안으로 Hybrid Search라는 게 있는데
'인공지능' 카테고리의 다른 글
모델 양자화 (Quantization) 이란? (0) | 2025.04.22 |
---|---|
프롬프팅 확장 테크닉 (2) | 2024.12.14 |
프롬프팅테크닉 (1) | 2024.11.19 |
CTC (Connectionist Temporal Classification) (0) | 2024.11.18 |