주요 콘텐츠로 건너뛰기
AI 튜토리얼

Brewery로 나만의 AI 모델 만들기: 단계별 파인튜닝 튜토리얼

이 튜토리얼에서는 Brewery를 설치하고, AI 가이드를 선택하고, 데이터를 준비하고, 컴퓨팅 리소스를 선택한 뒤, 텍스트 또는 이미지 모델을 파인튜닝하고, 결과를 평가하고, Brewery의 안내형 워크플로를 사용해 Hugging Face에 모델을 게시하는 방법을 설명합니다.

Brewery로 나만의 AI 모델 만들기: 단계별 파인튜닝 튜토리얼

Brewery란 무엇인가요?

Brewery는 언어 모델과 이미지 모델을 미세 조정하기 위한 가이드형 에이전트입니다. 브루마스터라고 부르는 선택한 AI 가이드와 대화하며 만들고 싶은 것을 설명하면 됩니다. Brewery는 목표 정의, 기반 모델 선택, 데이터 준비, 안전한 하이퍼파라미터 선택, 학습 실행, 결과 테스트, 완성된 모델 게시를 지원합니다.

브루마스터는 Claude, OpenAI 호환 모델, OpenRouter 또는 Ollama나 LM Studio를 통해 실행되는 로컬 모델일 수 있습니다. Brewery는 사용자의 경험 수준에 맞춰 설명과 도구를 조정합니다. 경험 수준은 초보자, 취미 사용자, 빌더, 전문가로 구분됩니다.

학습은 사용자의 NVIDIA 또는 AMD GPU에서 실행하거나, SSH로 접속하는 임대 서버에서 실행할 수 있습니다. 다른 곳에서 학습하는 경우 Brewery를 실행하는 노트북은 제어 플레인 역할만 하면 됩니다.

주요 기능

  • LoRA, QLoRA 또는 전체 미세 조정을 사용해 지원되는 텍스트 모델을 미세 조정합니다.
  • 계속 사전 학습, 지도 미세 조정, 선호도 조정을 사용해 텍스트 모델을 학습합니다.
  • 스타일, 캐릭터, 객체를 위한 Qwen-Image 2.1 LoRA 어댑터를 학습합니다.
  • Hugging Face, 로컬 파일 또는 브루마스터와 함께 만든 예시에서 데이터를 가져옵니다.
  • 제공업체 약관을 검토한 후 합성 데이터나 선호도 쌍을 선택적으로 생성합니다.
  • 대화, 도구 호출, 추론, RAG 문서, 선호도, 원시 텍스트, 완성문, 이미지를 위한 Empero Trace Format 또는 ETF를 사용합니다.
  • 학습을 시작하기 전에 메모리, 시간, 비용을 추정합니다.
  • 로컬 또는 Runpod, Vast.ai 및 기타 SSH 서버에서 학습을 실행합니다.
  • 생성된 모델 카드와 라이선스 파일을 포함해 어댑터 또는 병합된 모델을 내보냅니다.
  • 결과를 기본적으로 비공개 상태로 Hugging Face에 업로드합니다.

Brewery 설치

Brewery는 pip를 사용해 GitHub 저장소에서 설치합니다.

pip install "brewery-ai @ git+https://github.com/empero-org/brewery-ai"

다음 명령으로 애플리케이션을 시작합니다.

brewery

처음 실행하면 Brewery는 어떤 AI가 사용자를 안내할지 묻고 해당 AI의 API 키를 요청합니다. 자격 증명은 사용자만 읽을 수 있는 로컬 파일에 저장됩니다. 설정 과정에서는 프로젝트 폴더를 만들기 전에 사용자의 경험 수준과 프로젝트 이름도 요청합니다.

로컬 GPU용 학습 지원 설치

NVIDIA GPU에서 학습할 계획이라면 학습용 추가 기능을 설치합니다. 이 명령은 CUDA 호환 PyTorch 빌드도 함께 설치합니다.

pip install "brewery-ai[train] @ git+https://github.com/empero-org/brewery-ai"

AMD GPU의 경우 먼저 적절한 PyTorch ROCm 빌드를 설치한 다음, 학습용 추가 기능과 함께 Brewery를 설치합니다. Windows에서는 PIP_CONSTRAINT=constraints-windows-rocm.txt를 설정해 pip가 AMD PyTorch 설치를 그대로 유지하도록 하세요.

Apple Silicon 및 CPU 전용 시스템은 소규모 테스트 실행에 적합합니다. 더 큰 모델의 경우 브루마스터가 GPU 임대를 안내할 수 있습니다.

첫 번째 가이드형 Brew 시작하기

brewery를 실행한 후 만들고 싶은 모델을 자연어로 설명합니다. 예를 들면 다음과 같습니다.

a chatbot that explains chemistry like a friendly pirate

브루마스터는 이 아이디어를 구체적인 학습 계획으로 바꿉니다. 원하는 동작, 사용 가능한 하드웨어, 모델 크기, 학습 방법, 데이터 요구 사항, 예상 비용, 라이선스 제한을 고려할 수 있습니다. 현재 컴퓨터에 적합한 GPU가 없으면 24GB GPU 임대를 권장하고 대략적인 실행 비용을 추정할 수도 있습니다.

비용을 지출하거나, 소프트웨어를 설치하거나, 데이터를 다른 곳으로 보내거나, 모델을 게시하는 모든 작업은 Brewery 내부에서 확인이 필요합니다. AI 가이드는 이러한 확인 절차를 우회할 수 없으며, 비밀번호, API 키, 토큰은 채팅을 통해 전달되지 않습니다.

Brewery 워크플로 따르기

1. 목표 정의

모델이 수행해야 할 작업, 사용해야 할 스타일, 알고 있어야 할 주제 또는 지원해야 할 도구와 형식을 설명합니다. 학습과 평가에 충분할 만큼 목표가 구체화될 때까지 브루마스터의 질문에 계속 답합니다.

2. 컴퓨팅 환경 선택

brewery hardware를 사용해 현재 시스템을 확인합니다.

brewery hardware

로컬 학습 전에 Brewery는 실제 GPU 작업을 수행하므로, 긴 작업을 시작하기 전에 드라이버 또는 PyTorch 문제를 확인할 수 있습니다. 원격 학습의 경우 Brewery가 SSH 서버를 준비하고, 필요한 데이터를 업로드하며, 터미널을 닫아도 작업이 계속되도록 분리된 상태로 실행합니다.

3. 기반 모델 선택

Brewery는 Qwen3, Qwen3.5, 관련 Qwen 아키텍처, Qwen3.5 MoE, Llama 3.1부터 3.3, Gemma 3, Gemma 4를 비롯한 텍스트 모델 제품군을 지원합니다. 이미지 학습에서는 Qwen-Image 2.1 LoRA 어댑터를 지원합니다.

모델 브라우저를 사용해 이용 가능한 기반 모델을 확인합니다.

brewery models --modality text
brewery models --modality image
brewery models --all

브루마스터는 목표, 하드웨어, 라이선스 요구 사항을 고려합니다. 해당되는 경우 게이트 모델에 대한 접근 권한도 확인합니다.

4. 학습 데이터 준비

다운로드하지 않고도 Hugging Face 데이터 세트를 검색하고 미리 볼 수 있으며, 로컬 파일을 가져오거나 브루마스터와 함께 예시를 작성하거나 기존 이미지 데이터 세트를 사용할 수 있습니다. 합성 데이터 사용은 선택 사항이며, 사용자의 요구에 맞춰 구성됩니다. Brewery는 생성 전에 제공업체의 약관을 표시합니다.

예를 들어 브루마스터에게 기존 데이터 세트를 특정 말투로 다시 작성하게 하거나, 요구 사항을 바탕으로 대화를 만들거나, DPO용 선호도 쌍을 생성하게 할 수 있습니다. 다음 명령으로 가져온 데이터를 정리합니다.

brewery etf validate path/to/data.jsonl

프로젝트 내에서 학습 세트는 data/_sets/에 저장됩니다. Brewery는 백업을 유지하면서 비어 있거나 중복되거나 손상된 레코드를 제거할 수 있습니다.

5. 학습 방식 선택

각 작업에는 목표가 있으며 이전 단계에서 이어서 시작할 수 있습니다.

  • SFT: 모델이 특정 행동, 스타일, 형식 또는 도구 사용 패턴을 따르도록 가르칩니다.
  • CPT 후 SFT: 원시 도메인 텍스트로 기본 모델을 학습한 다음, 대화형으로 상호작용하도록 훈련합니다.
  • SFT 후 DPO: 먼저 원하는 행동을 가르친 다음, 선택된 응답 쌍을 사용해 선호도를 정교화합니다.

LoRA 단계는 다음 단계로 넘어가기 전에 시작 가중치에 병합되므로, 연쇄 학습 방식을 깔끔하게 쌓을 수 있습니다. Brewery의 propose_training_config 도구는 지원되는 모델 지침에 따라 하이퍼파라미터를 입력하고, 사용 가능한 GPU에 맞춰 학습 레시피의 규모를 조정합니다.

6. 학습 실행

예상 메모리, 시간, 비용을 검토한 후 제안된 레시피를 확인합니다. 학습은 선택한 머신에서 백그라운드로 실행되며, Brewery는 진행률, 손실, 예상 완료 시간을 보고합니다. 작업이 실패하면 brewmaster가 이해하기 쉬운 설명과 권장 해결 방법을 제시합니다.

다음 명령으로 작업을 확인할 수 있습니다:

brewery status
brewery status JOB

터미널을 닫아도 백그라운드 학습 작업은 중지되지 않습니다. 프로젝트 폴더로 돌아가 brewery를 실행하면 세션을 재개할 수 있습니다.

7. 결과 테스트

학습이 끝나면 새 모델에 프롬프트를 입력해 테스트하고, 기본 모델의 답변과 비교합니다. 선호도 조정을 위해 Brewery는 각 프롬프트에 대해 두 개의 후보를 생성할 수 있습니다. 터미널에서 더 나은 답변을 선택하거나, guiding AI에 평가 기준표를 사용해 판단하도록 요청한 뒤 결정을 표본 검사할 수 있습니다.

유용한 세션 명령은 다음과 같습니다:

  • /status 현재 프로젝트와 작업 상태를 표시합니다.
  • /jobs 학습 작업을 나열합니다.
  • /watch 활성 작업을 추적합니다.
  • /level 설명 수준을 변경합니다.
  • /usage 사용량 정보를 표시합니다.
  • /help 사용 가능한 명령을 나열합니다.

8. 내보내기 및 게시

결과가 준비되면 Brewery는 어댑터 또는 병합된 모델을 내보내고, 모델 카드를 생성하며, 관련 라이선스 파일을 포함하고, 모델을 Hugging Face에 업로드할 수 있습니다. 모델 카드에는 학습 방식, 데이터 소스, 라이선스, 크레딧, 학습 전후 샘플을 포함할 수 있습니다.

업로드는 기본적으로 비공개입니다. 저장소를 공개하기 전에 모델 카드와 라이선스 요구 사항을 검토하세요. 임대한 인프라를 사용하는 경우 서버를 중지하거나 삭제해야 합니다. 중지된 pod와 인스턴스에도 스토리지 비용이 계속 청구될 수 있습니다.

미리보기 체크포인트로 이미지 LoRA 학습하기

Qwen-Image 2.1 LoRA 작업에서 Brewery는 학습 중 미리보기 이미지를 렌더링합니다. 0단계에서 기준 세트를 만들고, 일관된 시드를 사용해 체크포인트마다 추가 세트를 생성하므로 시각적 비교가 쉬워집니다.

미리보기 파일은 runs/<job>/samples/step_NNNNNN/와 같은 경로에 다운로드됩니다. 각 미리보기 세트에는 해당 체크포인트가 있습니다. 최종 결과보다 이전 체크포인트가 더 좋아 보이면 brewmaster에게 해당 체크포인트를 패키징하도록 요청하세요.

세션 중 /gallery를 사용하면 로컬 나란히 보기 갤러리를 시작할 수 있습니다. 갤러리는 http://127.0.0.1:8765/<random-token>/과 같은 로컬 주소로 컴퓨터에서 제공되며 외부에서는 접근할 수 없습니다. 새 미리보기가 도착하면 갤러리가 업데이트되고, 이미지를 확대할 수 있으며, 기본 모델과 비교할 수도 있습니다.

고급 팁

Guiding AI를 신중하게 선택하기

가장 강력한 안내를 위해서는 Claude를 권장하며, OpenAI 호환 제공업체와 OpenRouter는 더 폭넓은 모델 선택지를 제공합니다. Ollama와 LM Studio는 로컬 실행을 지원합니다. Brewery는 좋은 결과를 위해 도구 호출이 가능한 14B 이상 규모의 로컬 모델을 권장합니다. 네이티브 도구 호출을 지원하지 않는 모델도 자동 텍스트 프로토콜을 통해 사용할 수 있습니다.

다음 명령으로 언제든 guiding model을 변경할 수 있습니다:

brewery setup

일관된 데이터 파이프라인에 ETF 사용하기

ETF는 채팅, 시스템 프롬프트, 도구 스키마와 호출, 추론, RAG 문서, 선호도 쌍, 원시 텍스트, 완성 데이터, 이미지를 비롯한 다양한 학습 자료에 하나의 JSONL 형식을 제공합니다. 이를 통해 프로젝트 단계 간 데이터를 더 쉽게 검증하고 이동할 수 있습니다. 형식에 대한 자세한 내용은 ETF 문서를 참조하세요.

터미널 동작 조정하기

제한된 터미널에서는 환경 변수를 사용해 인터페이스를 단순화하거나 합성 데이터 생성을 제어할 수 있습니다:

BREWERY_AI_PLAIN_INPUT=1
BREWERY_AI_SIMPLE_PROMPTS=1
BREWERY_AI_THINKING=off
BREWERY_AI_SYNTH_WORKERS=4

BREWERY_AI_SYNTH_WORKERS에는 1부터 16까지의 값을 사용할 수 있습니다. 사고 과정 표시는 on, full, off로 설정할 수 있습니다.

프로젝트 구조 이해하기

Brewery 프로젝트는 의사 결정, 데이터셋, 작업, 결과, 대화 기록을 한곳에 보관합니다:

my-project/
  brewery.yaml
  data/
  data/_sets/<name>/
  runs/<job_id>/
  .brewery/

경로는 슬래시를 사용하는 프로젝트 기준 상대 경로로 저장되므로, 프로젝트를 컴퓨터와 운영 체제 간에 옮길 수 있습니다. 사용자 설정은 ~/.config/brewery-ai/ 또는 Windows의 경우 %APPDATA%\brewery-ai\에 저장됩니다.

결론

Brewery는 모델 파인튜닝을 안내를 받으며 과정을 확인할 수 있는 워크플로로 전환합니다. 제어 평면 애플리케이션을 설치하고, 역량 있는 brewmaster를 선택하고, 목표를 설명한 다음, 데이터를 준비하고 검증하고, 하드웨어를 고려한 레시피를 승인하면 Brewery가 학습, 테스트, 내보내기, 게시를 관리합니다. 작은 SFT 프로젝트로 시작한 뒤 필요에 따라 CPT, SFT, DPO를 연쇄적으로 적용하는 방식이나 이미지 LoRA를 탐색해 보세요.