목록LLM (8)
운동하는 대학원생
LLM base basic modelzero-shot generation모든 코드 생성 모델의 기반이 되었으며 프롬프트를 단순히 output을 도출하는 방식으로 진행됨GPT3모델의 성능에 의존을 하기 때문에 결과에 대한 정확도가 낮음In-context learning (NeurIPS 2020, GPT-3)입력 프롬프트에 코드 실행에 대한 예시와 정답을 주고 학습을 시켜서 모델이 더 학습을 정확하게 하는 방식Reasoning (NeurIPS 2020, GPT-3)Chain of ThoughtLet’s think step by step처럼 프롬프트에 외부적인 시그널을 통해서 문제를 자체적으로 단계를 구분하고 지속적으로 생각 혹은 추론을 하게 해주는 방식 After agent (ReAct ICLR 2023..
개인적인 공부 정리 Prompt의 입력 사람이 입력하는 단어를 자연어 형태에서 데이터 형태로 표현을 해야 한다.가장 단순한 방식은 모든 단어에 대하여 사전을 만들어서 일대일로 매핑 시키는 방식이다.하지만 여기서의 문제는 과연 컴퓨터가 인식을 함에 있어서 단어의 기준을 어떻게 잡을 것 인가 혹은 합성어와 같이 어떤 단위로 단어를 구분해야 할지 많은 연구와 모델들이 존재한다.SentencePiece (32,000 vocab)단어를 사전에 가지고 있던 데이터의 빈도, 확률을 기반으로 단어를 분리한다.시작을 나타내는 단어와 공백을 나타내는 단어를 포함하며 사전에 없는 단어는 UTF-8 바이트 단위로 강제로 분해한다.실행 화면o200k_harmony(200,000 vocab)다국어 멀티모달GPT-3/4에서 주로..
Intro실제로 KVcache에 대한 재연산을 줄이기 위해서 메모리를 많이 사용하여 메모리 간 통신이 증가되는 현상을 보인다.Mooncake에서 제시하는 방식은 글로벌 스케줄러가 3가지 스텝으로 prefill과 decoding을 수행한다. ( pair를 선택)가능한 한 최대한 많은 재사용 가능한 KVCache를 prefill에서 선택청크/레이어 단위로 prefill을 완료하고 KVCache를 해당 디코딩 인스턴스로 지속적으로 스트리밍 한다.KVCache를 로드하고 요청을 디코딩 인스턴스의 지속적인 배치 프로세스에 추가함방식은 간단하지만 제약조건이 많다. prefill에서는 latency문제 때문에 제약이 걸린다.→ Conductor가 이것을 제어함 (hot 한 블록은 여러 서버 노드에 복제하고 cold ..
먼저 개발자 모드로 휴대폰 변경 필수이니 미리 변경하고 실행을 해야 한다. 사전 준비1. Termux 설치Termux는 안드로이드에서 리눅스 터미널 환경을 제공하는 앱이으로, 리눅스 명령어 실행, 패키지 설치, 개발 작업 등을 모바일에서 할 수 있다. https://play.google.com/store/apps/details?id=com.termux&hl=ko Termux - Google Play 앱터미널 에뮬레이터 및 리눅스 환경을 제공합니다.play.google.com 실행먼저 Termux를 실행하면 아래와 같이 화면이 나온다.Termux는 unix 기반의 안드로이드 장치에서 리눅스 환경을 제공합니다. 하지만 sudo 같은 관리자 권한은 없고 디바이스에 따라서 다르게 적용됩니다.(최신 사양의 휴..
양자화에 대한 개념은 LLM 모델의 크기가 커짐에 따라서 당연하게 크기를 줄이는 방향으로 연구가 진행되면서 최근에 기본적으로 사용되는 이론이다.양자화에 대한 개념을 말하기 전에 데이터에 대한 표현 방식을 먼저 이야기를 해보자면 integer는3 → 1112 → 1100 4bit integer3 → 001112 → 1100 데이터에 대한 표현은 0과 1로 이루어져 있기 때문에 비트에 대한 제한을 준다면 4비트 int 같은 경우에는 0에서 15까지의 표현이 가능하다. 실제 우리가 사용되는 숫자의 표현은 int만이 사용되지 않고 실수를 많이 사용한다. 그렇다는 건 이것을 표현하기 위해서는 float 표현을 통해서 우리가 아는 실수를 모두 컴퓨터에서 표시를 한다.float는 32, 16,8 등으로 표현이 가능하..
논문https://arxiv.org/abs/2403.02310 Taming Throughput-Latency Tradeoff in LLM Inference with Sarathi-ServeEach LLM serving request goes through two phases. The first is prefill which processes the entire input prompt and produces the first output token and the second is decode which generates the rest of output tokens, one-at-a-time. Prefill iterations have hiarxiv.org1. Introduction본 논문에서는 기존의 L..
논문https://arxiv.org/abs/2106.09685 LoRA: Low-Rank Adaptation of Large Language ModelsAn important paradigm of natural language processing consists of large-scale pre-training on general domain data and adaptation to particular tasks or domains. As we pre-train larger models, full fine-tuning, which retrains all model parameters, becomes learxiv.org 1. Introduction Language 모델을 활용하는 다양한 분야에서 특정 ..
Intro 요즘 GPT, LLMA, Dolly 등 다양하게 LLM 모델의 열풍이 불고 있어서 이번에 실습으로 Auto-GPT라는 것을 한번 해보았다. 참고 영상 https://www.youtube.com/watch?v=YbLef4CrZNU&t=593s 소스 코드 https://github.com/Significant-Gravitas/Auto-GPT GitHub - Significant-Gravitas/Auto-GPT: An experimental open-source attempt to make GPT-4 fully autonomous. An experimental open-source attempt to make GPT-4 fully autonomous. - GitHub - Significant-Gra..