Найти в Дзене
Артем Аполлон

2. Pylzma build tools - Разработка языковой модели LLM с нуля на python

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-среды, где отсутствуют ст
Оглавление

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 и проектов.