Hub documentation

Быстрый старт

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Быстрый старт

Запускайте ваш код на Python на CPU и GPU Hugging Face. В этом руководстве вы выполните простую команду на CPU, а затем сгенерируете текст с помощью небольшой языковой модели на GPU.

Вам понадобится аккаунт Hugging Face с предоплаченными кредитами. Стоимость вычислений описана в разделе Pricing and Billing.

1. Настройка CLI

Установите Hugging Face CLI, затем войдите в свой аккаунт:

>>> hf auth login

2. Запустите 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.py

CLI автоматически загружает ваш отредактированный скрипт. Если вы сохранили его в другом месте, замените hello_gpu.py на соответствующий путь.

Дальнейшие шаги

Развивайте этот пример с более крупной рабочей нагрузкой:

Update on GitHub