Chuyển đến nội dung chính
Hướng dẫn AI

Tinh chỉnh mô hình văn bản và hình ảnh với quy trình AI có hướng dẫn của Homebrew

Tìm hiểu cách cài đặt Homebrew, chọn AI định hướng, chuẩn bị dữ liệu, cấu hình các tác vụ tinh chỉnh an toàn, theo dõi quá trình huấn luyện, so sánh kết quả và phát hành mô hình lên Hugging Face. Hướng dẫn này bao quát GPU cục bộ và GPU thuê, quy trình LoRA cho văn bản và hình ảnh, các chế độ CPT/SFT/DPO liên kết cùng những mẹo thực tế khi sử dụng dòng lệnh.

Tinh chỉnh mô hình văn bản và hình ảnh với quy trình AI Homebrew

Homebrew thực hiện những gì

Homebrew là một tác nhân có hướng dẫn để tinh chỉnh các mô hình ngôn ngữ và hình ảnh. Thay vì yêu cầu bạn tự lắp ráp các tập lệnh và cấu hình huấn luyện, công cụ này cho phép bạn trò chuyện với một brewmaster: mô hình AI hướng dẫn dự án từ ý tưởng ban đầu qua các bước chuẩn bị dữ liệu, huấn luyện, kiểm thử, xuất bản và công bố.

Brewmaster có thể là Claude, một mô hình OpenAI, một mô hình được truy cập thông qua OpenRouter, mô hình Ollama hoặc LM Studio chạy cục bộ, hay một máy chủ tương thích với OpenAI khác. Hướng dẫn sẽ thích ứng với cấp độ kinh nghiệm bạn chọn: Người mới bắt đầu, Người dùng nghiệp dư, Người xây dựng hoặc Chuyên gia.

Homebrew được thiết kế để hỗ trợ toàn bộ quy trình:

  • Biến ý tưởng mô hình khái quát thành mục tiêu huấn luyện cụ thể.
  • Phát hiện phần cứng cục bộ hoặc chuẩn bị máy chủ GPU từ xa qua SSH.
  • Chọn mô hình nền và phương pháp huấn luyện tương thích.
  • Tìm, nhập, làm sạch, xem trước hoặc tạo dữ liệu huấn luyện.
  • Đề xuất các siêu tham số theo hướng dẫn dành riêng cho từng mô hình.
  • Chạy các tác vụ huấn luyện tách biệt và báo cáo loss, tiến độ cùng thời gian dự kiến hoàn thành.
  • Kiểm thử kết quả với mô hình nền ban đầu.
  • Xuất adapter hoặc mô hình đã hợp nhất.
  • Tạo model card và tải kết quả lên Hugging Face.

Homebrew yêu cầu xác nhận trước khi chi tiền, cài đặt phần mềm, gửi dữ liệu đến nhà cung cấp bên ngoài hoặc công bố mô hình. Mật khẩu, khóa API và token không đi qua cuộc trò chuyện.

Các quy trình huấn luyện được hỗ trợ

Mô hình văn bản

Homebrew hỗ trợ các họ mô hình được liệt kê, bao gồm Qwen3, Qwen3.5 và các kiến trúc Qwen tương thích, Qwen3.5 MoE, Llama 3.1 đến 3.3, Gemma 3 và Gemma 4. Tùy thuộc vào mô hình và phần cứng khả dụng, việc huấn luyện có thể sử dụng LoRA, QLoRA hoặc tinh chỉnh toàn phần.

Mỗi tác vụ huấn luyện văn bản có một trong ba mục tiêu:

  • SFT: Tinh chỉnh có giám sát để dạy mô hình instruct một hành vi, phong cách, định dạng phản hồi hoặc mẫu sử dụng công cụ.
  • CPT: Tiền huấn luyện tiếp tục trên văn bản thô, thường dùng để dạy mô hình nền một lĩnh vực hoặc ngôn ngữ.
  • DPO: Tinh chỉnh theo ưu tiên bằng các phản hồi được chọn và bị loại.

Các mục tiêu này có thể được xâu chuỗi. Các quy trình phổ biến gồm SFT thuần túy, CPT tiếp theo SFT và SFT tiếp theo DPO. Khi các giai đoạn LoRA được xâu chuỗi, Homebrew sẽ hợp nhất từng giai đoạn vào trọng số khởi đầu trước khi bắt đầu giai đoạn tiếp theo.

Mô hình hình ảnh

Đối với việc huấn luyện hình ảnh, Homebrew hỗ trợ adapter LoRA cho Qwen-Image 2.1. Các adapter này có thể nhắm đến phong cách, nhân vật hoặc vật thể. Trong quá trình huấn luyện, Homebrew có thể kết xuất ảnh xem trước tại bước 0 và ở các checkpoint sau bằng cách sử dụng seed cố định, giúp việc so sánh hình ảnh dễ dàng hơn.

Cài đặt Homebrew

Cài đặt control plane

Nếu quá trình huấn luyện sẽ chạy trên máy chủ GPU thuê hoặc từ xa, máy tính cục bộ của bạn chỉ cần bản cài đặt Homebrew nhẹ:

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

Khởi động giao diện có hướng dẫn bằng:

homebrew

Cài đặt GPU cục bộ

Nếu máy tính có GPU NVIDIA và sẽ thực hiện huấn luyện cục bộ, hãy cài đặt các thành phần bổ sung cho huấn luyện:

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

Bạn có thể xác minh cài đặt, cấu hình nhà cung cấp, đăng nhập Hugging Face và phần cứng bằng:

homebrew doctor
homebrew hardware

Để kiểm tra một máy chủ huấn luyện từ xa, hãy truyền lệnh SSH của máy chủ đó:

homebrew hardware --ssh "ssh user@example-server"

Cấu hình AI hướng dẫn

Trong lần chạy đầu tiên, Homebrew hỏi AI nào sẽ đóng vai trò brewmaster. Sau đó, công cụ yêu cầu khóa API cần thiết, lưu khóa cục bộ với quyền truy cập hạn chế, hỏi cấp độ kinh nghiệm của bạn và tạo một dự án.

Các loại trình hướng dẫn khả dụng gồm:

  • Claude: README khuyến nghị tùy chọn này để có hướng dẫn tốt nhất.
  • OpenAI: Sử dụng mô hình trò chuyện có khả năng gọi công cụ.
  • OpenRouter: Cho phép truy cập nhiều mô hình thông qua một khóa API.
  • Ollama hoặc LM Studio: Chạy cục bộ; dự án khuyến nghị mô hình có ít nhất 14B tham số và khả năng gọi công cụ để đạt kết quả tốt.
  • Tùy chỉnh: Kết nối với một endpoint tương thích với OpenAI như vLLM hoặc llama.cpp.

Thay đổi mô hình hướng dẫn sau bằng cách chạy:

homebrew setup

Homebrew điều chỉnh cách hoạt động theo trình hướng dẫn. Các mô hình mạnh được cấp toàn bộ bộ công cụ, trong khi các mô hình cục bộ nhỏ hơn được cấp các công cụ theo từng giai đoạn cùng hướng dẫn có cấu trúc hơn. Các mô hình không có khả năng gọi công cụ gốc có thể tự động sử dụng giao thức văn bản của Homebrew.

Tạo dự án tinh chỉnh đầu tiên

Bạn có thể bắt đầu trong thư mục hiện tại bằng homebrew, hoặc tạo trực tiếp một dự án có tên:

homebrew new my-pirate-chemist
cd my-pirate-chemist
homebrew

Hãy mô tả kết quả mong muốn bằng ngôn ngữ thông thường. Ví dụ:

a chatbot that explains chemistry like a friendly pirate

Brewmaster sẽ đặt câu hỏi cho đến khi mục tiêu trở nên cụ thể. Sau đó, công cụ đánh giá phần cứng, đề xuất mô hình nền, thảo luận các yêu cầu cấp phép và xác định nên sử dụng tài nguyên tính toán cục bộ hay thuê ngoài.

Thực hiện quy trình pha chế

1. Xác định mục tiêu

Hãy giải thích hành vi dự định, đối tượng sử dụng, lĩnh vực chủ đề, phong cách đầu ra hoặc ý tưởng hình ảnh của mô hình. Mục tiêu cụ thể giúp brewmaster chọn dữ liệu phù hợp và mục tiêu huấn luyện thích hợp.

2. Chọn tài nguyên tính toán

Homebrew phát hiện phần cứng cục bộ. Nếu không có GPU NVIDIA phù hợp, công cụ có thể đề xuất GPU tương thích và cung cấp mức giá Runpod và Vast.ai gần đúng. Công cụ không tạo tài khoản hoặc chi tiền thay bạn.

Sau khi thuê một máy, hãy dán lệnh SSH của nhà cung cấp vào phiên được hướng dẫn. Homebrew có thể kiểm tra phần cứng, chuẩn bị môi trường, tải dữ liệu lên, bắt đầu huấn luyện và tải kết quả về.

Các máy cloud đã dừng vẫn có thể tiếp tục tính phí lưu trữ. Hãy hủy các tài nguyên đã thuê khi dự án hoàn tất.

3. Chọn mô hình cơ sở

brewmaster đề xuất một mô hình dựa trên mục tiêu, dung lượng bộ nhớ khả dụng, phương pháp huấn luyện dự kiến và yêu cầu cấp phép. Công cụ cũng kiểm tra xem bạn có quyền truy cập vào mô hình bị giới hạn hay không.

Để tự xem các mô hình được hỗ trợ, hãy dùng:

homebrew models
homebrew models --modality text --all
homebrew models --modality image --all

4. Chuẩn bị dữ liệu

Dữ liệu huấn luyện có thể lấy từ Hugging Face, tệp cục bộ, các ví dụ được viết bằng brewmaster hoặc quá trình tạo dữ liệu tổng hợp tùy chọn. Homebrew có thể tìm kiếm và xem trước các bộ dữ liệu Hugging Face mà không cần tải xuống trước.

Việc tạo dữ liệu tổng hợp là tùy chọn. Tính năng này có thể tạo các cuộc hội thoại từ một bản mô tả ngắn, viết lại một bộ dữ liệu hiện có theo phong cách được yêu cầu hoặc tạo các cặp ưu tiên cho DPO. Công việc được lưu sau khi từng lô hoàn tất, vì vậy việc hủy một lần chạy tạo dữ liệu không xóa các lô đã hoàn thành.

Thao tác clean_dataset loại bỏ các bản ghi trống, trùng lặp hoặc bị hỏng và tạo một bản sao lưu. Hãy xem trước kỹ các bản ghi đã xử lý để xác nhận rằng chúng dạy đúng hành vi mong muốn.

5. Xây dựng công thức huấn luyện

Thao tác propose_training_config của Homebrew chọn các siêu tham số dựa trên hướng dẫn của mô hình được hỗ trợ và điều chỉnh quy mô tác vụ theo GPU khả dụng. Trước khi bắt đầu huấn luyện, Homebrew ước tính mức sử dụng bộ nhớ, thời lượng và chi phí.

6. Chạy và theo dõi quá trình huấn luyện

Quá trình huấn luyện chạy dưới dạng một tiến trình tách rời trên máy có GPU. Việc đóng terminal cục bộ không dừng tác vụ. Hãy quay lại thư mục dự án và chạy homebrew để tiếp tục cuộc trò chuyện.

Các lệnh theo dõi hữu ích gồm:

homebrew status
homebrew status JOB_ID

Trong một phiên tương tác, hãy dùng:

/status
/jobs
/watch

Homebrew theo dõi tiến độ, báo cáo đường cong mất mát và thời gian ước tính còn lại, đồng thời cung cấp lời giải thích bằng ngôn ngữ dễ hiểu khi xảy ra lỗi.

7. Kiểm thử mô hình

Sau khi huấn luyện, hãy thử các prompt trên mô hình đã tinh chỉnh và so sánh câu trả lời với mô hình cơ sở. Việc này có thể cho thấy mô hình mới đã học được phong cách hoặc hành vi mong muốn hay chưa mà không làm suy giảm chất lượng phản hồi tổng quát.

8. Xuất và chia sẻ

Homebrew có thể đóng gói kết quả dưới dạng adapter hoặc mô hình đã hợp nhất. Công cụ cũng tạo thẻ mô hình bao gồm quy trình huấn luyện, dữ liệu, giấy phép, ghi công và các ví dụ liên quan. Theo mặc định, các nội dung tải lên Hugging Face được đặt ở chế độ riêng tư.

Việc kiểm tra giấy phép bao gồm các yếu tố như yêu cầu đặt tên của Llama, điều khoản của Gemma và thông báo phi thương mại đối với bộ dữ liệu hoặc mô hình.

Huấn luyện văn bản nâng cao: CPT, SFT và DPO

Sử dụng CPT rồi đến SFT

Chọn CPT khi trước tiên mô hình cần tiếp xúc với dữ liệu thô trong một lĩnh vực hoặc ngôn ngữ. Sau đó dùng SFT để dạy hành vi hội thoại. Mỗi tác vụ tiếp theo tham chiếu đến giai đoạn trước thông qua init_from.

Mô hình cơ sở -> CPT trên văn bản thô -> SFT trên hội thoại

Tinh chỉnh sở thích bằng DPO

Sau SFT, DPO có thể làm rõ hơn các sở thích về những yếu tố như giọng điệu, cấu trúc hoặc phong cách trả lời. Các cặp ưu tiên có thể đến từ Hugging Face, quá trình tạo dữ liệu tổng hợp hoặc chính mô hình vừa được huấn luyện.

Homebrew có thể tạo hai câu trả lời ứng viên cho mỗi prompt bằng generate_candidates. Bạn có thể chọn câu trả lời tốt hơn trong terminal bằng review_candidates, hoặc yêu cầu AI hướng dẫn đánh giá các ứng viên theo một tiêu chí, sau đó kiểm tra ngẫu nhiên các quyết định của nó.

Mô hình cơ sở -> SFT -> tạo các cặp ứng viên -> xem xét sở thích -> DPO

Các log-probability tham chiếu của DPO được tính một lần từ mô hình khởi đầu của giai đoạn, vì vậy không cần giữ một mô hình thứ hai trong bộ nhớ GPU. Điều này áp dụng cho cả LoRA và tinh chỉnh toàn bộ.

Theo dõi trực quan Image LoRA

Các tác vụ Qwen-Image 2.1 LoRA có thể tạo bản xem trước của mô hình cơ sở ở bước 0 và một bộ bản xem trước mới tại mỗi checkpoint đã cấu hình. Các prompt và seed ngẫu nhiên được giữ cố định, cho phép so sánh checkpoint một cách có ý nghĩa.

Các bản xem trước đã tải xuống được lưu tại:

runs/<job>/samples/step_NNNNNN/

Hãy đưa từ kích hoạt của adapter vào các prompt xem trước. Nếu một checkpoint trước đó trông tốt hơn checkpoint cuối, hãy yêu cầu brewmaster đóng gói checkpoint đó.

Để mở giao diện trình duyệt so sánh song song, hãy nhập:

/gallery

Thư viện được cung cấp cục bộ tại một địa chỉ 127.0.0.1 có mã thông báo và không thể truy cập từ bên ngoài máy tính. Các hàng biểu thị checkpoint, còn các cột biểu thị prompt xem trước. Thư viện được làm mới trong quá trình huấn luyện, hỗ trợ phóng to hình ảnh, cho phép di chuyển giữa các checkpoint bằng phím mũi tên và dùng C để so sánh kết quả với mô hình cơ sở.

Tìm hiểu dữ liệu ETF

Homebrew sử dụng Empero Trace Format, hay ETF, làm định dạng JSON Lines thống nhất. ETF có thể biểu diễn các cuộc trò chuyện, prompt hệ thống, schema và lệnh gọi công cụ, quá trình suy luận, tài liệu truy xuất, cặp ưu tiên, văn bản thô, phần hoàn tất và hình ảnh.

Dùng nhóm lệnh ETF để kiểm tra và quản lý tệp:

homebrew etf validate dataset.jsonl
homebrew etf stats dataset.jsonl
homebrew etf convert
homebrew etf schema

Xem tài liệu ETF của dự án để biết cấu trúc đầy đủ.

Các lệnh hữu ích và điều khiển phiên

  • homebrew: Bắt đầu hoặc tiếp tục dự án hiện tại.
  • homebrew new NAME: Tạo một dự án.
  • homebrew setup: Chọn hoặc thay đổi AI hướng dẫn.
  • homebrew doctor: Kiểm tra cài đặt, nhà cung cấp AI, đăng nhập Hugging Face và phần cứng.
  • homebrew hardware: Hiển thị báo cáo phần cứng cục bộ hoặc từ xa.
  • homebrew models: Liệt kê các mô hình nền được hỗ trợ.
  • homebrew status JOB: Kiểm tra các tác vụ huấn luyện.

Trong một phiên, /level thay đổi mức độ giải thích, /usage hiển thị thông tin sử dụng, /thinking full mở rộng phần hiển thị suy luận của brewmaster, /thinking off ẩn phần này và /quit thoát phiên.

Mẹo thiết lập nâng cao

Điều chỉnh Homebrew cho các terminal hạn chế

Homebrew cung cấp các biến môi trường dành cho giao diện terminal đơn giản:

HOMEBREW_AI_PLAIN_INPUT=1 homebrew
HOMEBREW_AI_SIMPLE_PROMPTS=1 homebrew
HOMEBREW_AI_THINKING=off homebrew

HOMEBREW_AI_PLAIN_INPUT thay thanh nhập có khung bằng lời nhắc đơn giản. HOMEBREW_AI_SIMPLE_PROMPTS sử dụng các lựa chọn được đánh số thay cho menu dùng phím mũi tên. HOMEBREW_AI_THINKING chấp nhận on, full hoặc off.

Kiểm soát mức độ đồng thời khi tạo dữ liệu tổng hợp

Việc tạo dữ liệu tổng hợp hỗ trợ từ một đến mười sáu worker chạy song song. Ví dụ:

HOMEBREW_AI_SYNTH_WORKERS=4 homebrew

Hãy chọn giá trị phù hợp với giới hạn tốc độ và các ràng buộc tài khoản của nhà cung cấp.

Kiểm tra các tệp dự án

Một dự án điển hình gồm có:

my-project/
  homebrew.yaml
  data/
  data/_sets/<name>/
  runs/<job_id>/
  .homebrew/
  • homebrew.yaml lưu các quyết định và trạng thái, bao gồm mục tiêu, mô hình, tài nguyên tính toán, tập dữ liệu, tác vụ và tệp xuất.
  • data/ chứa các tập dữ liệu ETF và tệp kê khai mô tả nguồn, giấy phép và ánh xạ.
  • data/_sets/<name>/ chứa các tập huấn luyện và đánh giá đã được xây dựng.
  • runs/<job_id>/ lưu cấu hình tác vụ, dữ liệu đã sao chép, trạng thái, chỉ số, nhật ký và các sản phẩm cuối cùng.
  • .homebrew/ chứa lịch sử hội thoại được dùng để tiếp tục phiên.

Cài đặt người dùng được lưu tại ~/.config/homebrew-ai/. Thông tin xác thực được lưu trong credentials.yaml với quyền 600. Có thể đặt thêm hồ sơ mô hình trong ~/.config/homebrew-ai/profiles/ bằng cùng schema với các hồ sơ đi kèm.

Khuyến nghị thực tế

  1. Bắt đầu với mục tiêu hẹp. Một hành vi hoặc ý tưởng hình ảnh cụ thể sẽ dễ đánh giá hơn mục tiêu đa năng.
  2. Xem trước các bản ghi huấn luyện cuối cùng. Việc làm sạch và viết lại theo phong cách có thể thay đổi nội dung mô hình nhìn thấy, vì vậy hãy kiểm tra các ví dụ đại diện trước khi huấn luyện.
  3. Bắt đầu với SFT cho các thay đổi hành vi. Chỉ sử dụng chuỗi phức tạp hơn khi dự án thực sự cần tiền huấn luyện theo miền hoặc tối ưu hóa sở thích.
  4. So sánh với mô hình nền. Các bài kiểm tra song song giúp xác định dễ hơn liệu quá trình huấn luyện có tạo ra cải thiện hữu ích hay không.
  5. Kiểm tra giấy phép trước khi phát hành. Sản phẩm đầu ra thuộc về bạn, tùy thuộc vào giấy phép của các mô hình nền và tập dữ liệu được sử dụng.
  6. Giữ lại các checkpoint hữu ích. Đặc biệt với việc huấn luyện LoRA cho hình ảnh, checkpoint có chất lượng hình ảnh tốt nhất có thể không phải là checkpoint cuối cùng.
  7. Chấm dứt hạ tầng thuê. Dừng và xóa tài nguyên đám mây sau khi tải xuống và xác minh kết quả.

Kết luận

Homebrew biến việc tinh chỉnh mô hình thành một quy trình có hướng dẫn và tương tác bằng hội thoại, đồng thời vẫn duy trì quyền kiểm soát đối với dữ liệu, chi phí, cài đặt và việc phát hành. Công cụ hỗ trợ cả các dự án SFT đơn giản lẫn quy trình CPT, SFT và DPO nối tiếp, cùng với việc huấn luyện LoRA cho Qwen-Image dựa trên checkpoint. Hãy bắt đầu bằng cách cài đặt công cụ dòng lệnh, chọn một người hướng dẫn đủ năng lực, mô tả mục tiêu tập trung và để brewmaster hướng dẫn từng bước đã được xác nhận.

Để xem mã nguồn và tài liệu hiện tại, hãy truy cập kho lưu trữ Homebrew trên GitHub. Homebrew sử dụng giấy phép riêng: các điều khoản kiểu MIT áp dụng cho cá nhân và tổ chức có doanh thu không vượt quá ngưỡng được nêu trong kho lưu trữ, còn các tổ chức lớn hơn cần giấy phép thương mại.