LLM 애플리케이션 개발 훑어보기 - LangChain #3 Model I/O
·
AI/어플리케이션 개발
Model I/O LangChain 패키지는 NLP 어플리케이션을 원활하게 만들기 위해서 필요한 여러 모듈을 제공합니다. 오늘은 그 중 Model I/O와 관련된 내용을 다룹니다. 이 모듈을 통해 LangChain은 모든 언어 모델과 상호 작용하고, 모델에 대한 입력을 관리하고 출력에서 정보를 추출하는 등의 작업을 수행할 수 있습니다. Prompts 언어 모델에 입력되는 것은 보통 프롬프트라 불립니다. 종종 앱에서 사용자 입력은 모델에 직접적으로 입력되는 것이 아닙니다. 그 대신, 사용자의 입력은 어떤 방식으로든 변형되어 최종적으로 모델에 들어가는 문자열 또는 메시지의 형태로 생성됩니다. 사용자 입력을 받아 최종 문자열 또는 메시지로 변환하는 객체를 PromptTemplate이라고 합니다. LangCha..
LLM 애플리케이션 개발 훑어보기 - LangChain #2 LangChain Expression Language (LCEL)
·
AI/어플리케이션 개발
LangChain Experssion Language(LCEL) LangChain Expression Language(LCEL)은 체인을 쉽게 구성할 수 있는 선언적 방식입니다. LCEL은 가장 간단한 "프롬프트 + LLM" 체인부터 가장 복잡한 체인까지 코드 변경 없이 프로토타입을 프로덕션에 적용하는 것을 지원하도록 설계되었습니다. LangChain 공식 문서에서는 LCEL을 사용해야 하는 이유를 다음과 같이 소개하고 있습니다. Streaming support: LCEL로 체인을 구축하면 첫 번째 토큰에 도달하는 시간(첫 번째 출력 청크가 나올 때까지 경과한 시간)을 최대한 단축할 수 있습니다. Async support: LCEL로 구축된 모든 체인은 동기식 API(예: 프로토타이핑 중 Jupyter ..
LLM 애플리케이션 개발 훑어보기 - LangChain #1 Intro 및 QuickStart
·
AI/어플리케이션 개발
Introduction LangChain은 인공 지능(AI) 및 그 기계 학습 하위 집합으로 작업하는 소프트웨어 개발자가 대규모 언어 모델을 다른 외부 구성 요소와 결합하여 LLM 기반 애플리케이션을 개발할 수 있는 오픈 소스 프레임워크입니다. LangChain의 목표는 OpenAI의 GPT-3.5 및 GPT-4와 같은 강력한 LLM을 다양한 외부 데이터 소스에 연결하여 자연어 처리(NLP) 애플리케이션의 이점을 활용하고 생성하는 것입니다. 파이썬, 자바스크립트 또는 타입스크립트 프로그래밍 언어에 대한 경험이 있는 개발자, 소프트웨어 엔지니어, 데이터 과학자는 해당 언어로 제공되는 LangChain의 패키지를 사용할 수 있습니다. LangChain은 2022년 공동 창립자인 해리슨 체이스와 안쿠시 골라에..
S-LoRA: Serving Thousands of Concurrent LoRA Adapters
·
AI/기술,논문 리뷰
github: https://github.com/S-LoRA/S-LoRA paper: https://arxiv.org/abs/2311.03285 pretrain-then-finetune LLM 배포에는 일반적으로 pretrain-then-finetune 패러다임이 채택됩니다. Low-Rank Adaptation (LoRA)는 parameter-efficient fine-tuning(PEFT) method로써, base model을 여러 tasks에 적용하는 데 자주 사용되며, 그 결과 하나의 base model에서 파생된 상당한 양의 LoRA adapter가 생성됩니다. 이러한 패러다임은 서비스를 제공하는 동안 batched inference에 상당한 기회 요인을 제공합니다. 이러한 기회를 활용하기 위해..
LLM 인퍼런스 훑어보기 (6) - quantization
·
AI/모델 인퍼런스
이전 포스트에서는 LLM 인퍼런스에서 batching 기법의 중요성을 알아보았고, GPU util을 극대화하기 위한 batching 기법인 continuous batching에 대해서 알아보았습니다. continuous batching에 대해 자세히 알아보고 싶으신 분들은 이전 포스트를 참고하시면 좋을 것 같습니다. LLM 인퍼런스 훑어보기 (5) - continuous batching 이전 포스트에서는 kernel funsion에 대해 알아보는 내용을 다뤘었습니다. 커널 퓨전의 의미, 구현 방법, 그리고 활용 사례에 대해 자세히 알아보고 싶으신 분들은 이전 포스트를 참고하시면 좋을 dytis.tistory.com 오늘은 LLM 인퍼런스에서 메모리 효율화 기법 중 하나인 quantization에 대해서 ..
LLM 인퍼런스 훑어보기 (5) - continuous batching
·
AI/모델 인퍼런스
이전 포스트에서는 kernel funsion에 대해 알아보는 내용을 다뤘었습니다. 커널 퓨전의 의미, 구현 방법, 그리고 활용 사례에 대해 자세히 알아보고 싶으신 분들은 이전 포스트를 참고하시면 좋을 것 같습니다. LLM 인퍼런스 훑어보기 (4) - kernel fusion 이전 포스트에서는 KV Cache에 대해 더 깊게 알아보는 내용을 다뤘었습니다. 주로 Hugging Face Transformers의 구현체와 vLLM 프로젝트의 구현체를 탐구해 보았죠. 더 자세한 내용은 아래 링크에서 확인하 dytis.tistory.com 오늘은 LLM 인퍼런스에서 Batching 기법에 대해서 다루고자 합니다. Batch ML에서 "batch"는 일반적으로 훈련 데이터를 나누는 단위를 나타냅니다. 전체 데이터셋을..
LLM 인퍼런스 훑어보기 (4) - kernel fusion
·
AI/모델 인퍼런스
이전 포스트에서는 KV Cache에 대해 더 깊게 알아보는 내용을 다뤘었습니다. 주로 Hugging Face Transformers의 구현체와 vLLM 프로젝트의 구현체를 탐구해 보았죠. 더 자세한 내용은 아래 링크에서 확인하실 수 있습니다: LLM 인퍼런스 훑어보기 (3) - KV Cache (deep dive) 이전 포스트에서는 트랜스포머의 구조와 어텐션 메커니즘이 무엇인지 다루었다. 그리고 LLM 인퍼런스에서 KV Cache가 무엇이며, 왜 도입되어 사용되는지에 대해서 다뤘다. 지난 포스트는 아래 링 dytis.tistory.com 오늘은 LLM 인퍼런스 가속화 방법 중 하나로 알려진 "커널 퓨전 (kernel fusion)"에 대해 알아보려고 합니다. Kernel fusion GPU는 주로 다양한..
LLM 인퍼런스 훑어보기 (3) - KV Cache (deep dive)
·
AI/모델 인퍼런스
이전 포스트에서는 트랜스포머의 구조와 어텐션 메커니즘이 무엇인지 다루었다. 그리고 LLM 인퍼런스에서 KV Cache가 무엇이며, 왜 도입되어 사용되는지에 대해서 다뤘다. 지난 포스트는 아래 링크를 참조하자. LLM 인퍼런스 훑어보기 (2) - KV Cache 앞선 포스트에서는 Large Language Model (LLM) 인퍼런스의 중요성과 왜 우리는 LLM을 효율적으로 활용해야 하는지를 알아보았다. 더불어, LLM을 이용한 문장 생성은 autoregressive generation이며, 해당 생성 dytis.tistory.com 이번 포스트에서는 다른 가속 방법을 다루려고 했었는데, KV Cache에 대해서 좀 더 deep dive 해보는 내용을 작성해보려고 한다. deep dive 내용은 llam..
LLM 인퍼런스 훑어보기 (2) - KV Cache
·
AI/모델 인퍼런스
앞선 포스트에서는 Large Language Model (LLM) 인퍼런스의 중요성과 왜 우리는 LLM을 효율적으로 활용해야 하는지를 알아보았다. 더불어, LLM을 이용한 문장 생성은 autoregressive generation이며, 해당 생성 과정에서 사용할 수 있는 다양한 디코딩 전략을 소개하였다. 지난 포스트는 아래 링크를 참조하자. https://dytis.tistory.com/53 LLM 인퍼런스 훑어보기 (1) - LLM을 이용한 문장 생성 인공 지능과 기계 학습 기술의 발전은 현대 사회에 혁명적인 변화를 가져왔다. 특히, Large Language Model(LLM)과 같은 최신 기술은 자연어 처리 및 이해 분야에서 차별화된 성능을 보이며, 다양한 분 dytis.tistory.com 이번 ..
LLM 인퍼런스 훑어보기 (1) - LLM을 이용한 문장 생성
·
AI/모델 인퍼런스
인공 지능과 머신 러닝의 급속한 발전은 특히 자연어 처리 분야에서 주목할 만한 진전을 이루었습니다. 이 분야에서 Large Language Model(LLM)은 그 우수한 성능으로 다양한 서비스와 애플리케이션의 혁신을 가능하게 했습니다. 이러한 모델들은 방대한 양의 데이터와 복잡한 네트워크 구조를 바탕으로 학습되어, 상당한 컴퓨팅 자원과 시간을 필요로 합니다.LLM은 언어 이해와 생성 작업에서 뛰어난 결과를 보여주며, 이를 가능하게 하는 기술적 구현은 특히 중요합니다. 실제 서비스에 LLM을 적용하기 위해서는 모델의 인퍼런스가 효율적이어야 하며, 이는 컴퓨팅 자원을 적절히 관리하고 최적화하는 과정을 포함합니다. 효율성과 효과성은 이 모델을 경제적으로 운용하면서도 최대의 성능을 발휘하도록 하는 핵심 요소입..