인공지능 개발자 수다(유튜브 바로가기) 자세히보기
반응형

LLM 29

[LangGraph] Prebuilt ReAct Agent 사용법

langchain 버전: 0.3.23langgraph 버전: 0.3.20 0. LangGraph란LangGraph는 복잡한 LLM 워크플로우를 설계하고 실행할 수 있도록 해주는그래프 기반 실행 프레임워크 각 단계(노드)를 LLM, 함수 호출, 조건 판단으로 나눠서마치 "AI 플로우차트"처럼 구성함LangGraph는 이런 복잡한 흐름을 그래프 구조로 시각화하고 제어할 수 있게 해주는 도구 LangGraph의 구성요소요소설명Graph실행 흐름 전체를 표현하는 객체Node각 단계(=작업 단위). LLM 실행, 툴 호출, 조건 분기 등을 담음EdgeNode 간 흐름. 조건 분기(if), 반복(loop) 등State노드 실행 사이에 공유되는 컨텍스트 (예: chat history, 변수)GraphRunner그래프..

[LLM] EXAONE 3.5 논문 리뷰

LG 프로젝트를 하다 보니, 엑사원 모델을 사용하고 있길래논문을 읽어보기로 했다.현 시점에서 한국어를 기준으로는 상위권에 속하는 모델이다.필자도 이것저것 질문해 봤는데 성능이 괜찮았던 경험이 있다. 논문 링크 EXAONE 3.5: Series of Large Language Models for Real-world Use CasesThis technical report introduces the EXAONE 3.5 instruction-tuned language models, developed and released by LG AI Research. The EXAONE 3.5 language models are offered in three configurations: 32B, 7.8B, and 2.4B...

[Langchain] Retriever 사용하기

출처 : Langchain 공식문서 How-to guides | 🦜️🔗 LangChainHere you’ll find answers to “How do I….?” types of questions.python.langchain.com 1. Retriever 는 무엇인가Retriever는 주어진 질문에 대해 벡터스토어 에서 관련된 정보를 검색 검색은 챗봇이 챗 모델의 훈련 데이터 외부의 데이터로 응답을 증강하는 데 사용 retriever를 적용하는 것은 다음을 고려한다.방법이 다양하기 때문에, 상황과 데이터에 맞는 방법을 채택한다.Custom으로 만들 것인가간단하게 만들 것인가.다양한 방법을 조합해서 만들 것인가어느 부분에 적용할 것인가 (prompt에 문서 삽입, 질문을 메타에 맞게 변형, 명확한 질..

[LLM] 파인튜닝(fine-tunning) (9)

1. 파인튜닝(fine-tunning)이란Pre-tained Model (기본 언어 능력을 학습한 모델)을 기초로 하여특정 상황에 맞는 사용을 위해 추가로 학습하는 것을 파인튜닝(fine-tunning) 이라고 한다. pre-train과 비교pre-train일반 말뭉치를 사용해 학습다음 단어를 예측하는 형식으로 학습, 즉 다음단어가 target이 되는 형식임방대한 데이터로 학습하여 모델의 기본 지능을 만드는 과정fine-tunning상황에 맞는 input과 output을 학습함. 즉, supervised learningpre-trained 모델을 가져와 특정 태스크에 맞는 소규모 데이터셋으로 추가 훈련2. 데이터셋 준비2.1. 데이터 설명어떤 도메인의 모델을 학습할지 먼저 정해야 한다.다음으로 특정 도메..

[LLM] 모델 학습 with HuggingFace (peft) (8)

1. peft(🤗 Parameter-Efficient Fine-Tuning)란?peft(Parameter-Efficient Fine-Tuning)는 Hugging Face에서 제공하는 라이브러리로, 대형 언어 모델(LLM)을 효율적으로 파인튜닝할 수 있도록 도와준다.기존 방식처럼 모델 전체를 미세 조정하는 대신, 일부 가중치만 조정하여 메모리 사용량을 줄이고, 훈련 속도를 높이며, 다양한 작업에 쉽게 적용할 수 있도록 설계되었다. 2. peft의 주요 기능LoRA (Low-Rank Adaptation)특정 가중치 행렬의 일부만 학습 가능한 상태로 두어 모델 크기를 줄이고, 연산량을 감소시킴메모리 사용량이 적어 GPU 자원이 적어도 LLM을 튜닝할 수 있음Prefix Tuning입력 시퀀스 앞에 학습 가..

[LLM] 모델 학습 with HuggingFace (DeepSpeed) (7)

1. DeepSpeed 란?DeepSpeed는 분산 학습 메모리를 효율적이고 빠르게 만드는 PyTorch 최적화 라이브러리 내용 출처: DeepSpeed DeepSpeedDeepSpeed는 분산 학습 메모리를 효율적이고 빠르게 만드는 PyTorch 최적화 라이브러리입니다. 그 핵심은 대규모 모델을 규모에 맞게 훈련할 수 있는 Zero Redundancy Optimizer(ZeRO)입니다. ZeRO는 여러 단계huggingface.co 설치pip install deepspeed 2. 개념2.1. ZeRO(Zero Redundancy Optimizer)ZeRO (Zero Redundancy Optimizer) 방법을 사용함ZeRO-1, GPU 간 최적화 상태 분할ZeRO-2, GPU 간 그레이디언트 분할Ze..

[LLM] 모델 학습 with HuggingFace (Accelerate) (6)

1. 개념멀티 GPU/TPU 환경 등에서 파이토치(PyTorch) 기반 훈련 스크립트를 간편하게 확장할 수 있도록 도와주는 경량 라이브러리전통적으로 PyTorch 분산 학습(DDP)나 TPU/XLA를 직접 설정하려면, torch.distributed API나 TPU용 코드를 별도로 작성사용자 정의 훈련 루프를 최대한 그대로 두면서 분산 학습 설정과 관련된 복잡도를 줄여주는 것이 핵심다양한 하드웨어 가속 환경을 지원 출처: Accelerate 링크 AccelerateConcepts and fundamentalshuggingface.co 설치 방법pip install accelerate 2. 실행 방법2.1. accelerate config (설정 세팅)사용 목적: 사용자의 환경(로컬 머신/멀티 GPU/TP..

[LLM] 모델 학습 with Hugging Face (TrainingArguments, Trainer, trl) (5)

1. 개요이번 포스팅에서는HuggingFace에서 제공하는프레임워크에 대해 소개하겠다.라이브러리역할주요 기능Transformers모델, 토크나이저AutoModel, AutoTokenizer 등Trainer지도학습 (SFT)Trainer, TrainingArgumentsTRL강화학습 (RLHF)PPOTrainer, SFTTrainerDeepSpeedGPU 메모리 최적화ZeRO Stage, Hugging Face Trainer와 연동Accelerate분산 학습 최적화여러 GPU/TPU 환경에서 Trainer 가속화PEFT (Parameter Efficient Fine-Tuning)파라미터 효율적 파인튜닝 기법 지원LoraConfig, get_peft_modelEvaluate모델 평가load_metric("b..

[LLM] 데이터 준비 with huggingface (datasets) (4)

1. LLM 학습을 위한 데이터 형식모델에 따라 필요한 데이터의 형식은 달라질 수 있으나,일반적인 모델은 텍스트만 있으면 된다. (특이 케이스 형태의 데이터는 다음에 업데이트 하겠다.) 그리고 아래와 같은 태그를 붙여준다. (안붙여줘도 학습은 된다고 한다.) : 문장의 시작 : 문장의 끝 예를 들면 다음과 같다.data = [ {"text": " 인공지능은 사람의 언어를 학습할 수 있습니다. "}, {"text": " 사용자: 오늘 날씨 어때? "}] 만약 데이터를 직접 만들고 싶으면위와 같이 만들면 되겠다. 2. datasets를 이용해 데이터 불러오기datasets 는 huggingface에서 관리하는 데이터 셋을 불러오기 위한 라이브러리이다. 설치 명령어는 아래와 같다.pip instal..

반응형