wisent-ai/ster
해결하는 문제
Ster은 오픈웨이트 언어 모델의 동작을 제어하고 수정하기 위해 설계된 네이티브 Rust 툴킷입니다. 막대한 컴퓨팅 리소스나 복잡한 분산 학습 설정이 필요하지 않으면서도 모델의 출력을 특정 특성(예: 진실성)으로 정밀하게 유도하거나 성능 향상을 위해 가중치를 미세 조정하는 문제를 해결합니다.
작동 방식
Ster은 Candle 런타임 위에 구축된 맞춤형 Llama 디코더 루프를 사용하여 모델의 내부 숨겨진 상태와 상호작용합니다. 주로 다음 두 가지 메커니즘을 통해 작동합니다:
- 활성화 유도: 트랜스포머 레이어에서 숨겨진 상태를 읽고, 대비되는 예시(긍정적 및 부정적 텍스트 쌍)에서 '방향'을 학습합니다. 이러한 방향은 생성 중에 잔차 스트림에 추가되어 모델을 원하는 특성으로 유도합니다.
- 미세 조정: 감독 기반 미세 조정, 직접 선호 최적화(DPO), 그룹 상대 정책 최적화(GRPO)를 포함한 다양한 목적 함수를 사용하여 저랭크 어댑터(LoRA)를 훈련합니다. 또한 Bradley-Terry 보상 모델을 훈련할 수도 있습니다.
대상 사용자
오픈웨이트 모델(특히 Llama 계열)을 다루며 표현 읽기, 활성화 유도 및 효율적인 로컬 미세 조정을 수행하려는 개발자와 연구자를 대상으로 합니다.
주요 특징
- 네이티브 Rust 구현: Candle을 사용하여 구축되어 높은 성능과 CPU, Metal, CUDA를 지원합니다.
- 대비 학습: 유도를 위한 대비 쌍 세트를 합성, 검사 및 평가하는 도구.
- 유연한 튜닝: 로컬 훈련을 위해 LoRA, DPO, IPO, GRPO 목적 함수를 지원합니다.
- cedores: 어댑터를 기본 가중치에 병합하거나 생성 중에 동결된 산출물로 적용하는 기능.
- 통합 워크플로: 방향 훈련, 벡터 평가 및 유도된 생성 실행을 위한 완전한 CLI.
관련
- 프로젝트
- Dispatch
- 프로젝트
- 프로젝트
- 프로젝트