
Homebrew가 하는 일
Homebrew는 언어 모델과 이미지 모델을 미세 조정하기 위한 안내형 에이전트입니다. 학습 스크립트와 구성을 직접 조합해야 하는 대신, 브루마스터와 대화할 수 있습니다. 브루마스터는 초기 아이디어부터 데이터 준비, 학습, 테스트, 내보내기, 게시까지 프로젝트를 안내하는 AI 모델입니다.
브루마스터로 Claude, OpenAI 모델, OpenRouter를 통해 사용하는 모델, 로컬 Ollama 또는 LM Studio 모델, 그 밖의 OpenAI 호환 서버를 사용할 수 있습니다. 안내는 선택한 경험 수준인 초급자, 취미 사용자, 빌더 또는 전문가에 맞게 조정됩니다.
Homebrew는 전체 작업 흐름을 지원하도록 설계되었습니다.
- 광범위한 모델 아이디어를 구체적인 학습 목표로 전환합니다.
- 로컬 하드웨어를 감지하거나 SSH를 통해 원격 GPU 서버를 준비합니다.
- 호환되는 기반 모델과 학습 방법을 선택합니다.
- 학습 데이터를 찾고, 가져오고, 정제하고, 미리 보거나 생성합니다.
- 모델별 지침에 맞는 하이퍼파라미터를 제안합니다.
- 분리된 학습 작업을 실행하고 손실, 진행률, 예상 완료 시간을 보고합니다.
- 원래 기반 모델과 비교하여 결과를 테스트합니다.
- 어댑터 또는 병합된 모델을 내보냅니다.
- 모델 카드를 생성하고 결과를 Hugging Face에 업로드합니다.
Homebrew는 비용을 지출하거나, 소프트웨어를 설치하거나, 외부 제공업체에 데이터를 전송하거나, 모델을 게시하기 전에 확인을 요청합니다. 비밀번호, API 키, 토큰은 채팅을 거치지 않습니다.
지원되는 학습 워크플로
텍스트 모델
Homebrew는 Qwen3, Qwen3.5 및 호환되는 Qwen 아키텍처, Qwen3.5 MoE, Llama 3.1부터 3.3까지, Gemma 3, Gemma 4를 비롯해 등록된 모델 제품군을 지원합니다. 모델과 사용 가능한 하드웨어에 따라 LoRA, QLoRA 또는 전체 미세 조정을 사용할 수 있습니다.
각 텍스트 학습 작업에는 다음 세 가지 목표 중 하나가 있습니다.
- SFT: 지도 미세 조정입니다. 지시형 모델에 행동, 스타일, 응답 형식 또는 도구 사용 패턴을 학습시킵니다.
- CPT: 원시 텍스트를 사용한 지속 사전 학습입니다. 기반 모델에 특정 분야나 언어를 학습시키는 데 주로 사용됩니다.
- DPO: 선택된 응답과 거부된 응답을 사용한 선호도 조정입니다.
이러한 목표는 연결해서 사용할 수 있습니다. 일반적인 방식으로는 단순 SFT, CPT 후 SFT, SFT 후 DPO가 있습니다. LoRA 단계를 연결하는 경우 Homebrew는 다음 단계를 시작하기 전에 각 단계를 시작 가중치에 병합합니다.
이미지 모델
이미지 학습에서 Homebrew는 Qwen-Image 2.1용 LoRA 어댑터를 지원합니다. 이러한 어댑터는 스타일, 캐릭터 또는 객체를 대상으로 할 수 있습니다. 학습 중 Homebrew는 고정 시드를 사용해 0단계와 이후 체크포인트에서 미리 보기 이미지를 렌더링할 수 있으므로 시각적 비교가 쉬워집니다.
Homebrew 설치
제어 플레인 설치
대여한 GPU 서버나 원격 GPU 서버에서 학습을 실행할 경우, 로컬 컴퓨터에는 가벼운 Homebrew 설치만 필요합니다.
pip install "homebrew-ai @ git+https://github.com/empero-org/homebrew-ai"
다음 명령으로 안내형 인터페이스를 시작합니다.
homebrew
로컬 GPU 설치
컴퓨터에 NVIDIA GPU가 있고 로컬에서 학습을 수행하려면 학습 추가 기능을 설치합니다.
pip install "homebrew-ai[train] @ git+https://github.com/empero-org/homebrew-ai"
다음 명령으로 설치, 제공업체 구성, Hugging Face 로그인 및 하드웨어를 확인할 수 있습니다.
homebrew doctor
homebrew hardware
대신 원격 학습 서버를 확인하려면 SSH 명령을 전달합니다.
homebrew hardware --ssh "ssh user@example-server"
안내 AI 구성
처음 실행할 때 Homebrew는 어떤 AI가 브루마스터 역할을 할지 묻습니다. 그런 다음 필요한 API 키를 요청하고 제한된 권한으로 로컬에 저장하며, 경험 수준을 물은 뒤 프로젝트를 생성합니다.
사용 가능한 안내 유형은 다음과 같습니다.
- Claude: README에서는 가장 강력한 안내를 제공하는 옵션으로 권장합니다.
- OpenAI: 도구 호출을 지원하는 채팅 모델을 사용합니다.
- OpenRouter: 하나의 API 키로 여러 모델에 접근할 수 있습니다.
- Ollama 또는 LM Studio: 로컬에서 실행됩니다. 프로젝트에서는 좋은 결과를 위해 최소 14B 파라미터와 도구 호출을 지원하는 모델을 권장합니다.
- Custom: vLLM 또는 llama.cpp와 같은 OpenAI 호환 엔드포인트에 연결합니다.
다음 명령으로 나중에 안내 모델을 변경할 수 있습니다.
homebrew setup
Homebrew는 안내 모델에 맞춰 동작을 조정합니다. 강력한 모델에는 전체 도구 세트를 제공하고, 소형 로컬 모델에는 단계별 도구와 더 구조화된 안내를 제공합니다. 네이티브 도구 호출을 지원하지 않는 모델도 Homebrew의 텍스트 프로토콜을 자동으로 사용할 수 있습니다.
첫 번째 미세 조정 프로젝트 만들기
homebrew를 사용해 현재 디렉터리에서 시작하거나, 이름이 지정된 프로젝트를 직접 만들 수 있습니다.
homebrew new my-pirate-chemist
cd my-pirate-chemist
homebrew
원하는 결과를 일상적인 언어로 설명합니다. 예를 들면 다음과 같습니다.
a chatbot that explains chemistry like a friendly pirate
브루마스터는 목표가 구체화될 때까지 질문합니다. 그런 다음 하드웨어를 평가하고, 기반 모델을 추천하며, 라이선스 요구 사항을 논의하고, 로컬 컴퓨팅과 대여 컴퓨팅 중 어느 쪽이 적합한지 판단합니다.
브루잉 워크플로 따르기
1. 목표 정의
모델의 의도된 동작, 대상 사용자, 주제 분야, 출력 스타일 또는 이미지 콘셉트를 설명합니다. 구체적인 목표는 브루마스터가 적절한 데이터와 학습 목표를 선택하는 데 도움이 됩니다.
2. 컴퓨팅 환경 선택
Homebrew는 로컬 하드웨어를 감지합니다. 적합한 NVIDIA GPU를 사용할 수 없는 경우 호환 가능한 GPU를 추천하고 Runpod 및 Vast.ai의 대략적인 가격을 제공할 수 있습니다. Homebrew가 사용자를 대신해 계정을 만들거나 비용을 지출하지는 않습니다.
머신을 대여한 후 제공업체의 SSH 명령을 안내 세션에 붙여 넣으세요. 그러면 Homebrew가 하드웨어를 확인하고, 환경을 준비하고, 데이터를 업로드하고, 학습을 시작한 다음 결과를 가져옵니다.
중지된 클라우드 인스턴스도 스토리지 요금이 계속 청구될 수 있습니다. 프로젝트가 완료되면 대여한 리소스를 삭제하세요.
3. 기본 모델 선택
brewmaster는 목표, 사용 가능한 메모리, 계획한 학습 방법, 라이선스 요구 사항을 바탕으로 모델을 추천합니다. 또한 제한된 모델에 대한 액세스가 가능한지도 확인합니다.
지원되는 모델을 직접 확인하려면 다음을 사용하세요.
homebrew models
homebrew models --modality text --all
homebrew models --modality image --all
4. 데이터 준비
학습 데이터는 Hugging Face, 로컬 파일, brewmaster로 작성한 예시 또는 선택적 합성 데이터 생성에서 가져올 수 있습니다. Homebrew는 먼저 다운로드하지 않고도 Hugging Face 데이터셋을 검색하고 미리 볼 수 있습니다.
합성 데이터 생성은 선택 사항입니다. 간단한 설명을 바탕으로 대화를 만들거나, 기존 데이터셋을 요청한 스타일로 다시 작성하거나, DPO용 선호도 쌍을 생성할 수 있습니다. 작업은 배치가 완료될 때마다 저장되므로 생성 작업을 취소해도 완료된 배치는 삭제되지 않습니다.
clean_dataset 작업은 비어 있거나 중복되거나 손상된 레코드를 제거하고 백업을 만듭니다. 처리된 레코드를 주의 깊게 미리 확인하여 의도한 동작을 제대로 학습시키는지 확인하세요.
5. 학습 레시피 구성
Homebrew의 propose_training_config 작업은 지원되는 모델의 지침에 따라 하이퍼파라미터를 선택하고, 사용 가능한 GPU에 맞춰 작업 규모를 조정합니다. 학습이 시작되기 전에 Homebrew는 메모리 사용량, 소요 시간, 비용을 추정합니다.
6. 학습 실행 및 모니터링
학습은 GPU가 있는 머신에서 분리된 프로세스로 실행됩니다. 로컬 터미널을 닫아도 작업은 중지되지 않습니다. 프로젝트 폴더로 돌아가 homebrew를 실행하면 대화를 재개할 수 있습니다.
유용한 모니터링 명령은 다음과 같습니다.
homebrew status
homebrew status JOB_ID
대화형 세션에서는 다음을 사용하세요.
/status
/jobs
/watch
Homebrew는 진행 상황을 추적하고, 손실 곡선과 예상 완료 시간을 보고하며, 오류가 발생하면 이해하기 쉬운 설명을 제공합니다.
7. 모델 테스트
학습 후에는 미세 조정된 모델에 프롬프트를 입력하고 기본 모델의 답변과 비교하세요. 이를 통해 새 모델이 요청한 스타일이나 동작을 학습했는지, 일반적인 응답 품질을 저하시키지는 않았는지 확인할 수 있습니다.
8. 내보내기 및 공유
Homebrew는 결과를 어댑터 또는 병합된 모델로 패키징할 수 있습니다. 또한 학습 방식, 데이터, 라이선스, 크레딧, 관련 예시를 다루는 모델 카드도 생성합니다. Hugging Face에 업로드된 자료는 기본적으로 비공개입니다.
라이선스 확인에는 Llama 명명 요구 사항, Gemma 약관, 비상업적 데이터셋 또는 모델 관련 고지와 같은 항목이 포함됩니다.
고급 텍스트 학습: CPT, SFT, DPO
CPT 후 SFT 사용
모델이 먼저 원시 도메인 데이터나 언어 데이터에 노출되어야 한다면 CPT를 선택하세요. 그런 다음 SFT를 사용해 대화형 동작을 학습시킵니다. 이후 각 작업은 init_from을 통해 이전 단계를 참조합니다.
Base model -> CPT on raw text -> SFT on conversations
DPO로 선호도 개선
SFT 후에는 DPO를 사용해 어조, 구조, 답변 스타일 등의 특성을 더 세밀하게 조정할 수 있습니다. 선호도 쌍은 Hugging Face, 합성 데이터 생성 또는 새로 학습한 모델 자체에서 가져올 수 있습니다.
Homebrew는 generate_candidates를 사용해 각 프롬프트에 대해 두 개의 후보 응답을 생성할 수 있습니다. 터미널에서 review_candidates로 더 나은 응답을 선택하거나, 안내 AI에 루브릭을 기준으로 후보를 평가하게 한 뒤 그 판단을 표본 검사할 수 있습니다.
Base model -> SFT -> generate candidate pairs -> review preferences -> DPO
DPO의 참조 로그 확률은 단계의 시작 모델에서 한 번만 계산되므로 두 번째 모델을 GPU 메모리에 계속 유지할 필요가 없습니다. 이는 LoRA와 전체 미세 조정 모두에 적용됩니다.
이미지 LoRA를 시각적으로 모니터링
Qwen-Image 2.1 LoRA 작업은 0단계에서 기본 모델 미리보기를 생성하고, 구성된 각 체크포인트마다 새 미리보기 세트를 생성할 수 있습니다. 프롬프트와 무작위 시드는 고정되므로 체크포인트를 의미 있게 비교할 수 있습니다.
다운로드한 미리보기는 다음 경로에 저장됩니다.
runs/<job>/samples/step_NNNNNN/
미리보기 프롬프트에 어댑터의 트리거 단어를 포함하세요. 이전 체크포인트가 최종 체크포인트보다 좋아 보이면 brewmaster에 해당 체크포인트를 패키징하도록 요청하세요.
나란히 비교하는 브라우저 인터페이스를 사용하려면 다음을 입력하세요.
/gallery
갤러리는 토큰이 포함된 로컬 127.0.0.1 주소에서 제공되며 컴퓨터 외부에서는 접속할 수 없습니다. 행은 체크포인트를, 열은 미리보기 프롬프트를 나타냅니다. 학습 중 갤러리는 새로 고침되며, 이미지를 확대하고, 화살표 키로 체크포인트 사이를 이동하고, C를 사용해 결과를 기본 모델과 비교할 수 있습니다.
ETF 데이터 이해
Homebrew는 통합 JSON Lines 형식으로 Empero Trace Format, 즉 ETF를 사용합니다. ETF는 채팅, 시스템 프롬프트, 도구 스키마와 호출, 추론, 검색 문서, 선호도 쌍, 원시 텍스트, 완성 결과, 이미지를 표현할 수 있습니다.
ETF 명령 그룹을 사용해 파일을 검사하고 관리하세요.
homebrew etf validate dataset.jsonl
homebrew etf stats dataset.jsonl
homebrew etf convert
homebrew etf schema
전체 구조는 프로젝트의 ETF 문서를 참조하세요.
유용한 명령 및 세션 제어
homebrew: 현재 프로젝트를 시작하거나 재개합니다.homebrew new NAME: 프로젝트를 생성합니다.homebrew setup: 안내 AI를 선택하거나 변경합니다.homebrew doctor: 설치 상태, AI 제공업체, Hugging Face 로그인 및 하드웨어를 확인합니다.homebrew hardware: 로컬 또는 원격 하드웨어 보고서를 표시합니다.homebrew models: 지원되는 기본 모델을 나열합니다.homebrew status JOB: 학습 작업을 검사합니다.
세션 내에서 /level은 설명 수준을 변경하고, /usage는 사용량 정보를 표시하며, /thinking full은 브루마스터의 표시되는 추론 내용을 확장하고, /thinking off는 이를 숨기며, /quit은 세션을 종료합니다.
고급 설정 팁
제한된 터미널에 맞게 Homebrew 조정하기
Homebrew는 단순화된 터미널 인터페이스를 위한 환경 변수를 제공합니다.
HOMEBREW_AI_PLAIN_INPUT=1 homebrew
HOMEBREW_AI_SIMPLE_PROMPTS=1 homebrew
HOMEBREW_AI_THINKING=off homebrew
HOMEBREW_AI_PLAIN_INPUT은 테두리가 있는 입력 막대를 일반 프롬프트로 바꿉니다. HOMEBREW_AI_SIMPLE_PROMPTS는 화살표 키 메뉴 대신 번호가 매겨진 선택지를 사용합니다. HOMEBREW_AI_THINKING에는 on, full 또는 off를 지정할 수 있습니다.
합성 데이터 동시성 제어하기
합성 데이터 생성은 1~16개의 병렬 작업자를 지원합니다. 예를 들면 다음과 같습니다.
HOMEBREW_AI_SYNTH_WORKERS=4 homebrew
제공업체의 요청 속도 제한과 계정 제약을 고려하여 값을 선택하세요.
프로젝트 파일 검사하기
일반적인 프로젝트에는 다음이 포함됩니다.
my-project/
homebrew.yaml
data/
data/_sets/<name>/
runs/<job_id>/
.homebrew/
homebrew.yaml에는 목표, 모델, 컴퓨팅 리소스, 데이터셋, 작업 및 내보내기를 비롯한 결정 사항과 상태가 저장됩니다.data/에는 ETF 데이터셋과 소스, 라이선스 및 매핑을 설명하는 매니페스트가 포함됩니다.data/_sets/<name>/에는 구성된 학습 및 평가 세트가 포함됩니다.runs/<job_id>/에는 작업 구성, 복사된 데이터, 상태, 메트릭, 로그 및 최종 산출물이 저장됩니다..homebrew/에는 세션 재개에 사용되는 대화 기록이 포함됩니다.
사용자 설정은 ~/.config/homebrew-ai/에 저장됩니다. 자격 증명은 권한 모드 600이 적용된 credentials.yaml에 보관됩니다. 포함된 프로필과 동일한 스키마를 사용하여 추가 모델 프로필을 ~/.config/homebrew-ai/profiles/에 배치할 수 있습니다.
실용적인 권장 사항
- 범위를 좁힌 목표로 시작하세요. 정밀한 동작이나 시각적 콘셉트는 범용 목표보다 평가하기 쉽습니다.
- 최종 학습 레코드를 미리 확인하세요. 정리 및 스타일 재작성 과정에서 모델이 보는 내용이 바뀔 수 있으므로, 학습 전에 대표적인 예시를 검사하세요.
- 동작 변경에는 SFT부터 시작하세요. 프로젝트에 도메인 사전 학습이나 선호도 최적화가 실제로 필요한 경우에만 더 복잡한 체인을 사용하세요.
- 기본 모델과 비교하세요. 나란히 테스트하면 학습을 통해 유용한 개선이 이루어졌는지 판단하기 쉽습니다.
- 게시 전에 라이선스를 검토하세요. 사용한 기본 모델과 데이터셋의 라이선스를 따르는 범위에서 결과물은 귀하에게 귀속됩니다.
- 유용한 체크포인트를 보관하세요. 특히 이미지 LoRA 학습에서는 시각적으로 가장 뛰어난 체크포인트가 최종 체크포인트가 아닐 수 있습니다.
- 대여한 인프라를 종료하세요. 결과를 다운로드하고 확인한 후 클라우드 리소스를 중지하고 삭제하세요.
결론
Homebrew는 데이터, 비용, 설치 및 게시에 대한 통제권을 유지하면서 모델 미세 조정을 안내형 대화 워크플로로 전환합니다. 간단한 SFT 프로젝트뿐 아니라 CPT, SFT 및 DPO를 연결한 학습 방식과 체크포인트 기반 Qwen-Image LoRA 학습도 지원합니다. 명령줄 도구를 설치하고 역량 있는 안내 AI를 선택한 다음, 집중된 목표를 설명하면 브루마스터가 확인이 필요한 각 단계를 안내합니다.
소스 코드와 최신 문서는 Homebrew GitHub 저장소에서 확인하세요. Homebrew는 자체 라이선스를 사용합니다. 저장소에 명시된 수익 기준 이하의 개인 및 조직에는 MIT 스타일의 조건이 적용되며, 그보다 규모가 큰 조직에는 상용 라이선스가 필요합니다.
