axolotl은(는) 무엇을 하나요?
특화 에이전트가 실패한 상호작용을 기반으로 커스텀 LoRA 미세 조정 실행을 제출할 수 있도록 하는 설정 루틴입니다.
개요
이 스킬은 에이전트가 작업 중 실패한 사례를 수집하고, 해당 데이터를 사용해 LoRA(Low-Rank Adaptation) 미세 조정 파이프라인을 자동으로 구성합니다. Axolotl 프레임워크를 활용하여 모델 가중치를 효율적으로 업데이트하며, 설정 파일(YAML 기반)을 동적으로 생성하여 학습 파라미터를 제어합니다.
작동 방식
- 실패 감지: 에이전트가 작업을 완료하지 못하거나 오류를 반환한 경우를 식별합니다.
- 데이터 추출: 실패한 상호작용의 입력 및 출력(컨텍스트, 오류 메시지 등)을 추출합니다.
- 설정 생성:
axolotl설정 파일을 동적으로 생성합니다. 여기에는 모델 경로, 데이터셋 형식, LoRA 하이퍼파라미터(rank, alpha, dropout 등)가 포함됩니다. - 미세 조정 실행: 생성된 설정을 사용하여 LoRA 미세 조정 작업을 제출하고 완료를 모니터링합니다.
- 모델 교체: 성공적으로 학습된 LoRA 가중치를 사용해 에이전트의 모델을 업데이트합니다.
필수 구성 요소
axolotl프레임워크 설치 및 설정 완료- 학습 데이터에 대한 접근 권한
- GPU 리소스 (권장: NVIDIA A100 이상)
예시 설정 파일 (YAML)
model:
base_model: mistralai/Mistral-7B-v0.1
type: AutoModelForCausalLM
data:
train: ./data/failed_interactions.jsonl
eval: ./data/eval_set.jsonl
lora:
r: 8
alpha: 16
dropout: 0.05
target_modules: ["q_proj", "v_proj"]
training:
micro_batch_size: 4
gradient_accumulation_steps: 4
num_epochs: 3
learning_rate: 0.0002
사용 방법
- 에이전트가 실패를 감지하면
submit_finetune_run함수를 호출합니다. - 함수는 실패 데이터를 전처리하고 설정을 생성한 후
axolotl train명령어를 실행합니다. - 학습 완료 후, 새로운 LoRA 가중치가 저장된 경로를 반환합니다.
주의 사항
- 학습 데이터의 품질이 낮을 경우 모델 성능이 저하될 수 있으므로, 실패 데이터를 신중히 필터링하세요.
- 각 미세 조정 실행은 시스템 리소스를 소비하므로, 실행 빈도 제한이 필요할 수 있습니다.
- LoRA 타겟 모듈은 기본 모델 아키텍처에 따라 달라집니다.