Hub documentation
Быстрый старт
Быстрый старт
Запускайте ваш код на Python на CPU и GPU Hugging Face. В этом руководстве вы выполните простую команду на CPU, а затем сгенерируете текст с помощью небольшой языковой модели на GPU.
Вам понадобится аккаунт Hugging Face с предоплаченными кредитами. Стоимость вычислений описана в разделе Pricing and Billing.
1. Настройка CLI
Установите Hugging Face CLI, затем войдите в свой аккаунт:
>>> hf auth login2. Запустите Hello World
Выполните эту команду в терминале:
>>> hf jobs uv run python -c 'print("Hello from the cloud!")'hf jobs uv run выполняет команду в Python-окружении на инфраструктуре Hugging Face. По умолчанию используется CPU, а логи Job транслируются в ваш терминал. После запуска вы увидите:
Hello from the cloud!
CLI также выводит ID вашего Job и ссылку на его страницу. Откройте ссылку, чтобы просмотреть статус и логи в браузере. Вы можете снова найти свои Jobs на странице Jobs или использовать ID с командами CLI, описанными ниже.
Задачи также могут выполнять команду в любом Docker-образе:
>>> hf jobs run ubuntu echo 'Hello from the cloud!'Остальная часть этого руководства использует hf jobs uv run. См. Использование образов Docker, чтобы узнать, когда и как использовать образ.
3. Запуск модели на GPU
Запустите этот подготовленный скрипт, чтобы сгенерировать имя робота. Вы можете посмотреть его на GitHub или прочитать код ниже.
hf jobs uv run \
--flavor t4-small \
--timeout 5m \
https://raw.githubusercontent.com/huggingface/hub-docs/main/examples/jobs/hello_gpu.py--flavor t4-smallвыбирает машину с GPU NVIDIA T4.--timeout 5mустанавливает пятиминутный лимит для Job.
Job загружает модель и выводит её ответ в логи. Например:
RoboLearnbot
Вот полный скрипт:
# /// 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"])Заголовок зависимостей указывает uv установить torch и transformers в Job. Зависимости также можно указать с помощью --with. Локально вам нужен только CLI hf.
Скрипт запускает SmolLM2-360M-Instruct на GPU задачи. max_new_tokens ограничивает длину ответа.
Время запуска зависит от доступности оборудования, установки зависимостей и загрузки моделей.
Нажатие Ctrl+C останавливает вывод журнала; Job продолжает выполняться. Чтобы остановить Job, используйте
hf jobs cancel JOB_ID, заменивJOB_IDна ID, выведенный CLI.
Вы также можете запустить тот же Job из Python с помощью клиента 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. Проверьте результат
Используйте ID GPU-задания, чтобы снова проверить его статус и прочитать журналы:
>>> hf jobs inspect JOB_ID
>>> hf jobs logs JOB_IDУспешный запуск имеет статус COMPLETED, а в его логах содержится сгенерированный ответ.
Ответ остаётся доступным в логах Job после его завершения. При адаптации скрипта для создания файлов сохраняйте результаты в бакете или репозитории Hub, чтобы они сохранились после завершения Job.
Попробуйте свой собственный скрипт (необязательно)
Скопируйте код выше в hello_gpu.py, отредактируйте промпт в messages и запустите локальный файл:
hf jobs uv run --flavor t4-small --timeout 5m hello_gpu.pyCLI автоматически загружает ваш отредактированный скрипт. Если вы сохранили его в другом месте, замените hello_gpu.py на соответствующий путь.
Дальнейшие шаги
Развивайте этот пример с более крупной рабочей нагрузкой:
- Аннотировать набор данных с помощью OCR, классификации или пакетного вывода.
- Обучение или дообучение модели и сохранение её в Hub.
- Чтение наборов данных или бакетов и сохранение обработанных результатов.
- Выполнение команд в образах Docker.
- Использование Jobs из агента для написания кода.