dev.Log

Machine Learning 본문

인공지능

Machine Learning

초코푸딩 2024. 11. 2. 13:47

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
Comments