Pylzma build tools
https://visualstudio.microsoft.com/visual-cpp-build-tools/
для создания большого языкового модели (LLM) на Linux (например, Ubuntu 22) устанавливать Microsoft C++ Build Tools не требуется. Эти инструменты предназначены для компиляции C++ кода в среде Windows и не поддерживаются напрямую в Linux.
Вместо этого на Linux используют стандартные инструменты разработки, такие как компилятор GCC или Clang, а также набор утилит для сборки (make, ninja и др.). Для установки необходимых инструментов на Ubuntu 22 обычно достаточно выполнить команду:
bash
sudo apt-get install build-essential g++ make ninja-build
Эти пакеты обеспечивают компилятор, сборочные инструменты и другие зависимости, необходимые для сборки C++ библиотек и проектов, включая те, что могут понадобиться при создании LLM.
Если проект требует сборки Python-пакетов с C/C++ расширениями, Linux-окружение с gcc/g++ и make обычно достаточно. Microsoft C++ Build Tools нужны только для Windows-среды, где отсутствуют стандартные Linux-инструменты.
Таким образом, для разработки и сборки LLM на Linux 22 установка Microsoft C++ Build Tools не нужна и не применяется. Вместо этого используйте стандартные Linux-инструменты разработки.
Команда
bash
sudo apt-get install build-essential g++ make ninja-build
устанавливает набор инструментов для сборки программ на C и C++ в Linux:
- build-essential — мета-пакет, включающий компилятор gcc/g++, make и другие базовые инструменты для сборки.
- g++ — компилятор C++.
- make — система автоматизации сборки.
- ninja-build — альтернативная система сборки, ориентированная на скорость и эффективное управление зависимостями
- .
Что касается связи с библиотекой pylzma, то она содержит C/C++ расширения, которые при установке из исходников требуют компиляции. Для этого нужны инструменты сборки, такие как gcc/g++ и make. Ninja может использоваться как более быстрая система сборки, если проект её поддерживает.
Таким образом, установка этих пакетов напрямую связана с возможностью успешно собрать и установить пакеты с нативными расширениями на C/C++, включая pylzma и другие подобные библиотеки. Без этих инструментов установка таких пакетов из исходников может завершиться ошибкой.
Итог: команда установки build-essential, g++, make и ninja-build обеспечивает необходимые инструменты компиляции и сборки, которые могут понадобиться при сборке pylzma и других пакетов с C/C++ кодом.
https://pytorch.org/get-started/locally/
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
служит для установки библиотек PyTorch с поддержкой CUDA 11.8, что позволяет использовать GPU NVIDIA для ускорения вычислений.
Разбор по элементам:
- pip3 — менеджер пакетов Python для Python 3, используемый для установки библиотек.
- install — команда pip для установки указанных пакетов.
- torch — основная библиотека PyTorch для машинного обучения и глубокого обучения.
- torchvision — дополнительная библиотека с популярными наборами данных, архитектурами моделей и инструментами для обработки изображений.
- torchaudio — библиотека для работы с аудио, предоставляющая функции загрузки, обработки и анализа звуковых данных.
- --index-url https://download.pytorch.org/whl/cu118 — указание альтернативного источника пакетов (индекса) PyTorch, где собраны колёса (whl) с поддержкой CUDA версии 11.8. Это нужно, чтобы установить версии библиотек, скомпилированные с поддержкой GPU NVIDIA и соответствующей версии CUDA.
Таким образом, эта команда устанавливает PyTorch и связанные библиотеки с оптимизациями для GPU на CUDA 11.8, что значительно ускоряет обучение и инференс моделей на видеокартах NVIDIA
Различия между версиями CUDA 11.8, 12.6 и 12.8 для персонального Ubuntu 22.04.5 LTS связаны с поддержкой новых возможностей, совместимостью с драйверами, архитектурами GPU и улучшениями производительности.
Основные отличия
- CUDA 11.8
Более старая, но очень стабильная версия с широкой поддержкой многих библиотек и фреймворков, включая PyTorch и TensorFlow.
Поддерживает архитектуры GPU до Compute Capability 9.0 (например, Ampere).
На Linux (Ubuntu) часто рекомендуют для совместимости с существующими пакетами и драйверами.
Некоторые современные функции и новые GPU не поддерживаются.
Используется в проектах, где важна проверенная стабильность и совместимость. - CUDA 12.6
- Новее, включает улучшения производительности и поддержку более новых GPU.
- Требует более свежих драйверов NVIDIA (например, версии 535+).
- Поддерживает Compute Capability от 5.2 и выше, но не все старые GPU.
- Часто рекомендуется для новых проектов и последних версий PyTorch, если ваша видеокарта и драйверы совместимы.
- Может не поддерживать некоторые устаревшие библиотеки или модели, рассчитанные на CUDA 11.8.
- CUDA 12.8
- Самая новая версия на момент 2025 года.
- Добавлена поддержка новых архитектур GPU, включая NVIDIA Blackwell (архитектура 2024-2025 гг.).
- Включает новые функции в библиотеках cuBLAS, улучшения для смешанной точности и оптимизации для последних GPU.
- Требует самых свежих драйверов (например, 570+ или 575+).
- Может быть необходима для использования новейших моделей и фреймворков, которые ориентированы на последние GPU и технологии.
Совместимость и драйверы
- Новые версии CUDA требуют соответствующих драйверов NVIDIA. Например, CUDA 12.8 требует драйвер версии 570+ или выше, CUDA 12.6 — драйвер 535+, CUDA 11.8 — более старые драйверы.
- Драйверы обычно обратно совместимы с более старыми версиями CUDA, но не наоборот. Это значит, что с драйвером для CUDA 12.8 можно запускать приложения, собранные под CUDA 11.8, но не всегда наоборот.
Что выбрать для Ubuntu 22.04.5 LTS?
- Если ваша видеокарта и драйверы поддерживают CUDA 12.8 и вы хотите использовать последние возможности и оптимизации — выбирайте CUDA 12.8.
- Если нужна стабильность и совместимость с большим количеством библиотек и проектов — CUDA 11.8 остаётся хорошим выбором.
- CUDA 12.6 — компромиссный вариант между новизной и стабильностью, подходит для большинства современных GPU и проектов.