Hub documentation
Bắt đầu nhanh
Bắt đầu nhanh
Chạy mã Python của bạn trên CPU và GPU của Hugging Face. Trong hướng dẫn này, bạn sẽ chạy một lệnh đơn giản trên CPU, sau đó tạo văn bản bằng một mô hình ngôn ngữ nhỏ trên GPU.
Bạn sẽ cần một tài khoản Hugging Face có tiền trả trước. Xem Giá và Thanh toán để biết chi phí tính toán.
1. Thiết lập CLI
Cài đặt Hugging Face CLI, sau đó đăng nhập vào tài khoản của bạn:
>>> hf auth login2. Chạy Hello World
Chạy lệnh này trong terminal của bạn:
>>> hf jobs uv run python -c 'print("Hello from the cloud!")'hf jobs uv run chạy lệnh trong môi trường Python trên hạ tầng của Hugging Face. Mặc định nó sử dụng CPU và truyền trực tiếp (stream) log của Job ra terminal của bạn. Sau khi khởi động, bạn sẽ thấy:
Hello from the cloud!
CLI cũng in ra ID của Job và một liên kết đến trang của nó. Mở liên kết để xem trạng thái và log trong trình duyệt của bạn. Bạn có thể tìm lại các Job của mình trên trang Jobs, hoặc sử dụng ID với các lệnh CLI bên dưới.
Jobs cũng có thể chạy một lệnh trong bất kỳ hình ảnh Docker nào:
>>> hf jobs run ubuntu echo 'Hello from the cloud!'Phần còn lại của hướng dẫn này sử dụng hf jobs uv run. Xem Sử dụng hình ảnh Docker để biết khi nào và cách nào để sử dụng một hình ảnh.
3. Chạy một mô hình trên GPU
Chạy script đã chuẩn bị này để tạo ra tên robot. Bạn có thể xem trên GitHub hoặc đọc mã bên dưới.
hf jobs uv run \
--flavor t4-small \
--timeout 5m \
https://raw.githubusercontent.com/huggingface/hub-docs/main/examples/jobs/hello_gpu.py--flavor t4-smallchọn một máy có GPU NVIDIA T4.--timeout 5mđặt giới hạn năm phút cho Job.
Job tải mô hình và in câu trả lời của nó trong các log. Ví dụ:
RoboLearnbot
Dưới đây là script hoàn chỉnh:
# /// script
# dependencies = ["torch", "transformers"]
# ///
from transformers import pipeline
generator = pipeline(
"text-generation",
model="HuggingFaceTB/SmolLM2-360M-Instruct",
dtype="float16",
)
messages = [{
"role": "user",
"content": "Suggest a name for a robot that helps people learn Python. Answer with only the name.",
}]
outputs = generator(messages, max_new_tokens=48, do_sample=False, return_full_text=False)
print(outputs[0]["generated_text"])Phần đầu phụ thuộc cho uv biết cần cài đặt torch và transformers trong Job. Bạn cũng có thể chỉ định các phụ thuộc bằng --with. Bạn chỉ cần CLI hf cục bộ.
Script chạy SmolLM2-360M-Instruct trên GPU của Job. max_new_tokens giới hạn độ dài của câu trả lời.
Thời gian khởi động thay đổi tùy thuộc vào khả năng sử dụng phần cứng, việc cài đặt các phụ thuộc và quá trình tải xuống mô hình.
Nhấn Ctrl+C để dừng phát trực tiếp nhật ký; Job vẫn tiếp tục chạy. Để dừng Job, hãy sử dụng
hf jobs cancel JOB_ID, thayJOB_IDbằng ID được in ra bởi CLI.
Bạn cũng có thể khởi chạy cùng một Job từ Python bằng client huggingface_hub:
from huggingface_hub import run_uv_job
job = run_uv_job(
"https://raw.githubusercontent.com/huggingface/hub-docs/main/examples/jobs/hello_gpu.py",
flavor="t4-small",
timeout="5m",
)
print(job.url)4. Kiểm tra kết quả của bạn
Sử dụng ID của GPU Job để kiểm tra trạng thái và đọc lại nhật ký của nó:
>>> hf jobs inspect JOB_ID
>>> hf jobs logs JOB_IDMột lần chạy thành công có trạng thái COMPLETED, và log của nó chứa câu trả lời đã được tạo ra.
Câu trả lời vẫn khả dụng trong nhật ký của Job sau khi nó kết thúc. Khi bạn điều chỉnh script để tạo ra các tệp, lưu các kết quả đó vào một bucket hoặc kho Hub để chúng tồn tại sau khi Job kết thúc.
Thử script của riêng bạn (tùy chọn)
Sao chép mã ở trên vào hello_gpu.py, chỉnh sửa prompt trong messages, và chạy tệp cục bộ của bạn:
hf jobs uv run --flavor t4-small --timeout 5m hello_gpu.pyCLI sẽ tự động tải lên script đã chỉnh sửa của bạn. Thay hello_gpu.py bằng đường dẫn của nó nếu bạn đã lưu nó ở nơi khác.
Các bước tiếp theo
Xây dựng trên ví dụ này với khối lượng công việc lớn hơn:
- Gán nhãn cho bộ dữ liệu bằng OCR, phân loại hoặc suy luận hàng loạt.
- Đào tạo hoặc tinh chỉnh một mô hình và lưu nó vào Hub.
- Đọc các bộ dữ liệu hoặc bucket và lưu kết quả đã xử lý.
- Chạy các lệnh trong hình ảnh Docker.
- Sử dụng Jobs từ một coding agent.