AI/NLP
-
LLM의 Context Length 늘리기 (2) - KV Cache 최적화 기법들AI/NLP 2025. 7. 13. 16:10
LLM의 Context Length 늘리기 (2) - KV Cache 최적화 기법들 그래 YaRN으로 모델이 긴 시퀀스 볼 수 있다 치자 ! 근데 메모리 부족한 건 어떻게 해결할 건데 ? 학습 서버는 그래도 좋은 GPU를 사용할 수 있지만 AI 서비스가 나갈 서버의 GPU를 H100로 할 순 없으니 ... 서빙용 GPU (가령 A100 40G)에서 이 작디작은 메모리를 어떻게 아껴가며 쓸지 생각해봐야 하는 부분이다 지난 주 올렸던 글에서 (https://asidefine.tistory.com/341) 봤듯이 추론 시에는 1) 모델, 2) KV Cache가 메모리에서 가장 큰 파이를 차지하게 되고이 중 Input Length와 관련된 부분은 KV Cache다 KV Cache가 VRAM에서 차지하는..
-
LLM의 Context Length 늘리기 (1) - Positional Embedding부터 RoPE, Position Interpolation, NTK, YaRNAI/NLP 2025. 7. 13. 15:30
LLM의 Context Length 늘리기 (1) - Positional Embedding부터 RoPE, Position Interpolation, NTK, YaRN 최근 업무로 Agent를 하다 보니Tool Description 등으로 인해 Context Length가 불가피하게 길어지더라 32K로 열어두고 사용하고 있었는데 Tool Description만 22K라 Context length 늘리는 방법을 요즘 공부 중이다 크게 1) 모델이 원래 볼 수 있는 최대의 Context Length보다 더 늘릴 수 있는 방안(즉, 모델이 긴 입력을 이해하도록 하는)이 있고,두번째로 2) 긴 Context일 때도 추론이 느려지지 않도록 하는 방안 (긴 시퀀스에서 메모리 문제로 게산이 느려지기에)이 있음위치 임..
-
[GPU/메모리] 내 GPU엔 몇 B 모델까지 올라갈 수 있을까? (+ 필요 메모리 계산하는 코드)AI/NLP 2025. 7. 6. 15:51
[메모리] 내 GPU엔 몇 B 모델까지 올라갈 수 있을까? (+ 필요 메모리 계산하는 코드) 들어가기 전 간단한 계산 정도는 아래 포스트에서 대충 적어놨었다 (https://asidefine.tistory.com/317)하지만 어렴풋한 감으로 하는 것보다 원리부터 다시 ! 1. 핵심 개념 정리1.1 메모리 구성 요소공통 요소:- 모델 파라미터: 실제 가중치- 입력 데이터: 배치 처리용 토큰들- 시스템 오버헤드: 프레임워크 메모리추론 전용:- KV 캐시: 생성 속도 향상용 캐시학습 전용:- 그래디언트: 역전파용 기울기- 옵티마이저 상태: Adam/SGD 내부 상태- 중간 활성화: 역전파용 순전파 결과1.2 데이터 정밀도정밀도 바이트 메모리 비율 성능 영향FP324100%기준FP16250%거의 ..
-
[unsloth] LoRA Hyperparameters Guide 번역AI/NLP 2025. 7. 6. 15:30
[unsloth] LoRA Hyperparameters Guide 번역 나중에 LoRA로 튜닝할 때 써먹을 것 LoRA 하이퍼파라미터 가이드개요LoRA 하이퍼파라미터 모범 사례파인튜닝 프로세스에 미치는 영향 분석핵심 개념수백만 가지 하이퍼파라미터 조합 존재올바른 값 선택이 파인튜닝 성공의 핵심수백 개 연구 논문 및 실험 결과 기반목표: 정확도 향상 + 과적합 방지과적합: 모델이 데이터 암기 → 새로운 질문 처리 어려움지향점: 암기가 아닌 일반화 모델학습률 (Learning Rate)정의: 모델 가중치의 훈련 단계별 조정 정도높은 학습률빠른 훈련 속도과적합 감소 효과주의사항: 너무 높으면 과적합 발생낮은 학습률안정적인 훈련 과정더 많은 에포크 필요일반적인 범위: 1e-4 (0.0001) ~ 5e-5 ..
-
-
[AI Agent] LangChain/LangGraph invoke()와 stream() (+ 그리고 How to stream tool calls)AI/NLP 2025. 5. 24. 12:43
[AI Agent] LangChain/LangGraph invoke()와 stream() (+ 그리고 How to stream tool calls) 드디어 소기의 목적인 비동기 기반의 LLM 스트리밍 서비스를 위해 LangChain과 FastAPI를 조합하고, 기존의 invoke() 방식에서 벗어나 astream()을 적용! * 이전 포스트에서 이어집니다 (https://asidefine.tistory.com/332) LangChain의 invoke, stream, batch invoke, stream, batch 함수사용자 정의 체인을 쉽게 만들도록 대부분의 컴포넌트에 Runnable 프로토콜을 구현해 놓았으며, 이 중 invoke, stream, batch는 다음과 같은 역할을 수행하는 표준 인터페이..
-
[AI Agent] Agent와 LangChain AgentExecutor (+ ToolFormer, ReAct, CodeAct Agent)AI/NLP 2025. 5. 24. 11:56
[AI Agent] Agent와 LangChain AgentExecutor (+ ToolFormer, ReAct, CodeAct Agent) Agent란?에이전트는 사전에 정의된 규칙이나 명시적인 프로그래밍 없이도 스스로 결정을 내리고 행동구성AI ModelCapabilities and ToolsLangChain에서 에이전트는 다음과 같은 구성요소로 이루어져 있습니다:Agent: 의사 결정을 담당하는 핵심 컴포넌트입니다.Tools: 에이전트가 사용할 수 있는 기능들의 집합입니다.Toolkits: 관련된 도구들의 그룹입니다.AgentExecutor: 에이전트의 실행을 관리하는 컴포넌트입니다.(1) Tool & Tool BindingTool이 가져야 하는 것함수가 수행하는 작업에 대한 텍스트 설명Argume..
-
[AI Agent] LangChain Expression Language(LCEL)AI/NLP 2025. 5. 24. 11:55
[AI Agent] LangChain Expression Language(LCEL)1) 기본 개념(1) LangChain Expression Language(LCEL)가장 기본적이고 일반적인 사용 사례는 prompt 템플릿과 모델을 함께 연결하는 것chain = prompt | model | output_parserIn [ ]:from dotenv import load_dotenvload_dotenv("/home1/irteamsu/data_ssd2/users/sjson/projects_NHN/llm.mcp/agents-from-scratch/.env")In [ ]:from langchain_core.prompts import PromptTemplatefrom langchain_openai import C..