OCI Generative AI Professional 기본 개념정리

김경호·2024년 6월 13일
0
post-thumbnail

Large Language Models

  • LLM(Large Language Model)이란 훈련된(Trained) 데이터를 기반으로 인간과 유사한 텍스트를 이해하고 생성하도록 설계된 인공 지능 모델의 한 유형. 모델이 예측을 하거나 텍스트를 생성하는 데 도움이 되는 조정 가능한 가중치인 수십억 ~ 심지어 수조 개의 매개변수(Parameter)로 구성되는 방대한 크기가 특징.

LLM architectures

Encoder

  • 인코더는 단어(text)를 인코딩하도록 설계되었으며, Embedding(단어->숫자)을 transformer architecture를 통해 생성함. Embedding text는 단어 시퀀스를 단일 벡터(single vector) 또는 벡터 시퀀스(sequence)로 변환하는 프로세스를 수행함을 말함. Embedding of text이란 semantics 또는 단어의 의미를 나타내는 단어의 숫자표현

Decoder

  • 디코더 모델은 텍스트를 디코딩하거나 생성하도록 설계됨. 텍스트 생성 모델에서 입력과 출력 모두 일련의 단어(text)이며(형태는 다름) 디코더는 한 번에 하나의 토큰(의미가 있는 단어(text) 데이터의 최소단위)만 생성.

Encoder-Decoder

  • 인코더는 입력 시퀀스를 처리하고 이를 고정 크기 컨텍스트(context) 벡터로 압축하여 필수 정보를 캡처함. 그 다음 디코더는 이 컨텍스트 벡터를 사용하여 출력 시퀀스를 단계별로 생성

인코더와 디코더는 상황에 따라 다양한 크기로 제공될 수 있음(크기는 모델에 포함된 훈련 가능한 매개변수의 수를 의미)

Prompting

  • 프롬프팅은 응답을 생성하거나 작업을 완료하기 위해 AI모델에 초기 입력 또는 "프롬프트"를 제공하는 프로세스를 의미함.
  • 프롬프트는 모델이 학습 데이터를 기반으로 관련성 있고 일관성 있는 텍스트를 생성하도록 안내하는 시작점 또는 지침 역할
  • 프롬프트 엔지니어링은 특정 작업에 대한 어휘의 확률 분포를 유도하기 위해 모델 입력을 반복적으로 개선하는 프로세스(우리가 원하는 응답에 점점 더 가까워지도록 모델의 입력을 수정하는 방식으로 수행)

Types of prompting

In-context learning

  • Constructing a prompt that has demonstrations of the task that the model is meant to complete.(모델이 완료해야 하는 작업을 보여주는 프롬프트를 구성)

K-shot prompting

  • 모델이 완료하길 원하는 작업의 k개 예시를 프롬프트에 포함하게하는 방식
  • Zero-shot prompting의 경우 프롬프트내 예시 없음

Chain-of-thought prompting

  • Prompt the model to break down the steps of solving the problem into small chunks.(모델에 문제 해결 단계를 작은 덩어리로 나누게하는 방식)

Least to most prompting

  • Solve simpler problems first, and use the solutions to the simple problems to solve more difficult problems.(간단한 문제를 먼저 해결하고 간단한 문제에 대한 솔루션을 사용하여 더 어려운 문제를 해결하는 방식)

Step-back prompting

  • Identify high-level concepts pertinent to a task.(작업과 관련된 상위개념들을 확인하는 방식)

Issues with prompting

  • 대표적으로 prompt injection : 개발자에 의해 훈련된 데이터나 민감한 정보들을 취득하려하는 행위
  • Hallucination : AI모델이 현실에 근거하지 않거나 사실적 정확성이 부족한 콘텐츠를 생성하는 현상

Training

  • 정보와 도메인등의 변경 등을 극복하는 방법, 매개변수 변경에 대응할 수 있게함

Fine-tuning

  • 이미 Training된 데이터들의 매개변수를 모두 변경하는 방식

Parameter efficient fine-tuning

  • 줄여서 PEFT. 특정 매개변수 집합을 격리하거나 소수의 매개변수를 추가하는 방식

Soft prompting

  • 특정 작업을 수행하기 위해 모델에 대한 입력 역할을 하는 특정 매개변수가 프롬프트에 추가하는 방식

Continual pretraining

  • Fine-tuning과 유사하지만 labled되지않은 매개변수에 대해 pretraining하는것이 특징

Decoding

Greedy decoding

  • 시퀀스 생성 프로세스의 각 단계에서 모델이 다음 출력으로 확률이 가장 높은 토큰(단어 또는 문자)을 선택함. 이 프로세스는 end of sequence token이 생성되거나 시퀀스가 미리 정의된 최대 길이에 도달할 때까지 계속됨

Nucleus sampling

  • top-p sampling이라고도 하는 복잡한 디코딩 방식. 가능성이 가장 높은 토큰의 동적 하위 집합을 고려하여 보다 다양한 텍스트 생성을 허용함.
  • Greedy 디코딩 접근 방식의 확장이며 가장 가능성이 높은 단일 시퀀스 대신 후보 시퀀스 집합(set of candidate sequences)을 고려하여 생성된 시퀀스의 품질을 향상시키는 것을 목표로하는 방식.

Retrieval Augmented Generation (RAG)

  • RAG는 검색 기반 모델(retrieval-based model)과 생성형 모델(generative model)의 요소를 결합하여 고퀄리티의, 상황에 맞는 텍스트를 생성하는 자연어 처리(NLP:Natural language processing)의 접근 방식.

이 접근 방식에서는 생성형 모델(예: 언어 모델)이 데이터베이스나 텍스트 모음과 같은 대규모 외부 지식 소스에서 관련 정보를 검색하는 검색 메커니즘으로 강화된다. 이렇게 검색된 정보는 모델의 생성 프로세스를 안내하거나 향상하는 데 사용되어 더 많은 정보를 제공하고 상황에 맞게 풍부한 출력을 생성할 수 있게 된다.

RAG를 구현하는 방법에는 시퀀스 모델과 토큰 모델의 두 가지가 있고 RAG 시퀀스 모델은 단락, 문서 또는 긴 콘텐츠와 같은 전체 텍스트 시퀀스를 생성하는 데 중점을 두는 반면 RAG 토큰 모델은 토큰 수준에서 작동하며 일반적으로 텍스트 완성, 질문 답변 또는 대화 생성과 같이 개별 토큰에 대한 세밀한 제어가 필요한 작업에 사용됨

Vector Databases

  • 고차원 벡터 데이터를 효율적으로 저장, 관리 및 쿼리하도록 설계된 특수 데이터베이스를 말하며, 이러한 데이터베이스는 기계 학습, 자연어 처리, 컴퓨터 비전, 추천 시스템 및 데이터가 벡터로 표시되는 기타 도메인과 관련된 애플리케이션에 특히 적합함.

대부분의 벡터 데이터베이스는 수평적 확장, 향상된 성능 및 저장 용량을 허용하는 대규모 고차원 데이터의 저장 및 계산 요구를 처리하기 위해 분산 아키텍처(distributed architecture)를 사용함.

Semantic Search

  • Semantic search는 검색어와 검색되는 문서의 의미(의미)를 이해하여 검색 결과의 정확성과 관련성을 향상시키는 것을 목표로 하는 고급 정보 검색 기술
  • 일치하는 키워드에만 의존하는 기존 키워드 기반 검색과 달리 의미 체계 검색은 쿼리와 문서 모두의 의도, 맥락, 의미를 고려하여 보다 정확하고 맥락에 맞는 결과를 반환함.

OCI Generative AI Service

Pre-trained Models

  • OCI Generative AI 서비스는 OCI Generative AI는 Cohere 및 Meta의 최첨단 LLM(대형 언어 모델)에 대한 액세스를 제공함
  • 요약, 텍스트 생성, 번역 및 정보 추출과 같은 작업에 이를 사용할 수 있음.

Fine-Tuning Capabilities

  • 자신의 데이터에 대해 사전 훈련된 모델을 Fine-Tuning(미세조정)할 수 있음. 이러한 사용자 정의는 비즈니스 요구 사항과 관련된 특정 작업에 대한 모델 성능을 크게 향상시킬 수 있습니다.

Dedicated Resources

  • OCI Generative AI는 맞춤형 모델을 미세 조정하고 호스팅하기 위해 격리된 AI 클러스터를 활용하기 때문에 보안과 성능이 뛰어남

Flexibility and Control

  • 필요에 따라 엔드포인트를 생성하거나 업데이트하거나 삭제할 수도 있으며 또한 사용자 지정 모델에 할당된 컴퓨팅 리소스를 관리할 수 있음
profile
취미해킹

0개의 댓글