Вопрос или проблема
Я не знаю, является ли это правильной платформой для публикации, но я не могу найти решение, поэтому публикую это здесь.
Я загрузил модель Llama3.1-70B Instruct с Meta, официального сайта.
Я выполнил все шаги, указанные в установочных инструкциях. Я использую Llama CLI.
Я создал виртуальное окружение Python и активировал его. Я запустил:
pip install llama-stack
llama download --source meta --model-id CHOSEN_MODEL_ID
pip install torch fairscale fire blobfile
Перед выполнением второй команды я сделал это, потому что не хотел, чтобы моя модель скачивалась на диск C.
Теперь следующий шаг — запустить модель. Согласно официальной документации, нужно сделать:
#!/bin/bash
CHECKPOINT_DIR=~/.llama/checkpoints/Meta-Llama3.1-8B-Instruct
PYTHONPATH=$(git rev-parse --show-toplevel) torchrun llama_models/scripts/example_chat_completion.py $CHECKPOINT_DIR
Это shell-скрипт для Linux. Я попросил ChatGpt преобразовать его в формат .ps1
, формат powershell
.
# Определите каталог контрольной точки
$CHECKPOINT_DIR = "J:\Llama 3.2\Lama Models\checkpoints\Llama3.1-70B-Instruct"
# Получите корневой каталог репозитория Git
# $PYTHONPATH = & git rev-parse --show-toplevel
# Отображение путей для отладки
Write-Host "Используется CHECKPOINT_DIR: $CHECKPOINT_DIR"
# Write-Host "Используется PYTHONPATH: $PYTHONPATH"
# Запустите пример скрипта Llama
torchrun llama_models/scripts/example_chat_completion.py $CHECKPOINT_DIR
Я закомментировал PYTHONPATH
, потому что ChatGpt сказал мне, что “если у меня есть python.exe
, установленный в виртуальном окружении, и папка llama_models
также находится в виртуальном окружении, то нет необходимости устанавливать PYTHONPATH
“. Это также решило некоторые проблемы с git
.
Но теперь я получаю следующую длинную ошибку
Используется CHECKPOINT_DIR: J:\Llama 3.2\Lama Models\checkpoints\Llama3.1-70B-Instruct
W1124 23:36:35.630654 20112 Lib\site-packages\torch\distributed\elastic\multiprocessing\redirects.py:29] ПРИМЕЧАНИЕ: Перенаправления в настоящее время не поддерживаются в Windows или MacOs.
Traceback (последний вызов был самым недавним):
Файл "C:\Users\Poojan\AppData\Local\Programs\Python\Python310\lib\runpy.py", строка 196, в _run_module_as_main
return _run_code(code, main_globals, None,
Файл "C:\Users\Poojan\AppData\Local\Programs\Python\Python310\lib\runpy.py", строка 86, в _run_code
exec(code, run_globals)
Файл "J:\Llama 3.2\Llama_3.2_Virtual_Env\Scripts\torchrun.exe\__main__.py", строка 7, в <module>
Файл "J:\Llama 3.2\Llama_3.2_Virtual_Env\lib\site-packages\torch\distributed\elastic\multiprocessing\errors\__init__.py", строка 355, в wrapper
return f(*args, **kwargs)
Файл "J:\Llama 3.2\Llama_3.2_Virtual_Env\lib\site-packages\torch\distributed\run.py", строка 919, в main
run(args)
Файл "J:\Llama 3.2\Llama_3.2_Virtual_Env\lib\site-packages\torch\distributed\run.py", строка 910, в run
elastic_launch(
Файл "J:\Llama 3.2\Llama_3.2_Virtual_Env\lib\site-packages\torch\distributed\launcher\api.py", строка 138, в __call__
return launch_agent(self._config, self._entrypoint, list(args))
Файл "J:\Llama 3.2\Llama_3.2_Virtual_Env\lib\site-packages\torch\distributed\launcher\api.py", строка 260, в launch_agent
result = agent.run()
Файл "J:\Llama 3.2\Llama_3.2_Virtual_Env\lib\site-packages\torch\distributed\elastic\metrics\api.py", строка 137, в wrapper
result = f(*args, **kwargs)
Файл "J:\Llama 3.2\Llama_3.2_Virtual_Env\lib\site-packages\torch\distributed\elastic\agent\server\api.py", строка 696, в run
result = self._invoke_run(role)
Файл "J:\Llama 3.2\Llama_3.2_Virtual_Env\lib\site-packages\torch\distributed\elastic\agent\server\api.py", строка 849, в _invoke_run
self._initialize_workers(self._worker_group)
Файл "J:\Llama 3.2\Llama_3.2_Virtual_Env\lib\site-packages\torch\distributed\elastic\metrics\api.py", строка 137, в wrapper
result = f(*args, **kwargs)
Файл "J:\Llama 3.2\Llama_3.2_Virtual_Env\lib\site-packages\torch\distributed\elastic\agent\server\api.py", строка 668, в _initialize_workers
self._rendezvous(worker_group)
Файл "J:\Llama 3.2\Llama_3.2_Virtual_Env\lib\site-packages\torch\distributed\elastic\metrics\api.py", строка 137, в wrapper
result = f(*args, **kwargs)
Файл "J:\Llama 3.2\Llama_3.2_Virtual_Env\lib\site-packages\torch\distributed\elastic\agent\server\api.py", строка 500, в _rendezvous
rdzv_info = spec.rdzv_handler.next_rendezvous()
Файл "J:\Llama 3.2\Llama_3.2_Virtual_Env\lib\site-packages\torch\distributed\elastic\rendezvous\static_tcp_rendezvous.py", строка 67, в next_rendezvous
self._store = TCPStore( # type: ignore[call-arg]
RuntimeError: use_libuv было запрошено, но PyTorch был собран без поддержки libuv
У меня также есть графический процессор Nvidia, но
import torch
print(torch.cuda.is_available())
возвращает false
Ответ или решение
Чтобы установить и запустить модель Llama3.1-70B-Instruct, выполните следующие шаги. Мы разберем этот процесс подробно, учитывая ваши текущие проблемы и настройки.
Шаг 1: Обази установку необходимых инструментов
- Python и pip: Убедитесь, что у вас установлен Python версии 3.8 или выше, а также pip.
- Создайте виртуальную среду:
python -m venv llama_env .\llama_env\Scripts\activate # Для Windows # или source llama_env/bin/activate # Для Linux/macOS
Шаг 2: Установка Llama Stack
-
Установите необходимые библиотеки:
pip install llama-stack
-
Скачивание модели:
Перед выполнением этой команды убедитесь, что вы выбрали правильный CHOSEN_MODEL_ID для вашей модели:llama download --source meta --model-id CHOSEN_MODEL_ID
-
Установка PyTorch: Убедитесь, что вы установили правильную версию PyTorch, которая поддерживает вашу GPU. Для этого выполните:
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113
Замените
cu113
на вашу версию CUDA (например,cu102
для CUDA 10.2,cu117
для CUDA 11.7 и т.д.). Это важно, так как, как видно из вашего сообщения, ваша версия TensorFlow не видит GPU.
Шаг 3: Запуск модели
-
Создайте PowerShell-скрипт:
Откройте текстовый редактор и вставьте следующий код, заменив путь до модели:# Определить директорию контрольной точки $CHECKPOINT_DIR = "J:\Llama 3.2\Lama Models\checkpoints\Llama3.1-70B-Instruct" # Дисплей путей для отладки Write-Host "Использование CHECKPOINT_DIR: $CHECKPOINT_DIR" # Запустить примерный скрипт Llama torchrun llama_models/scripts/example_chat_completion.py $CHECKPOINT_DIR
-
Запуск скрипта:
Выполните ваш PowerShell скрипт:.\your_script_name.ps1
Шаг 4: Проверка совместимости CUDA
С учетом сообщения об ошибке, убедитесь, что ваша система поддерживает CUDA, и запустите следующий код, чтобы проверить доступность GPUs:
import torch
print(torch.cuda.is_available())
Если возвращается False
, это может быть связано с неправильной установкой драйверов NVIDIA или несовместимой версией PyTorch. Убедитесь, что вы установили соответствующие драйвера и версии.
Шаг 5: Устранение ошибки с use_libuv
Для устранения ошибки RuntimeError: use_libuv was requested but PyTorch was build without libuv support
, проверьте следующие моменты:
-
Переустановка PyTorch: Убедитесь, что у вас установлена версия PyTorch, поддерживающая libuv. Попробуйте переустановить PyTorch с поддержкой libuv.
-
Настройка переменных окружения: Убедитесь, что ваши переменные окружения настроены правильно. Может потребоваться добавить пути библиотеки и исполняемых файлов в системные переменные.
Заключение
Следуйте приведенным шагам и проверьте, решает ли это ваши проблемы с установкой и запуском Llama3.1-70B-Instruct. Если вы всё ещё сталкиваетесь с проблемами, предоставьте дополнительные детали об ошибках, и мы продолжим искать решения. Удачи!