Основные термины в мире LLM:
LLM (Large Language Model / Большая Языковая Модель):
Простыми словами: Это очень большая и сложная компьютерная программа (нейросеть), которую научили понимать и генерировать человеческий текст на основе гигантского количества прочитанных ею книг, статей, сайтов и т.д.
Аналогия: Представьте себе невероятно умного попугая, который просмотрел всю библиотеку человечества и теперь может не просто повторять, а продолжать фразы, отвечать на вопросы или писать тексты в заданном стиле. Изначально необученная нейросеть выдаёт белый шум.
Пример: ChatGPT, Llama 3, Mixtral, Qwen – всё это LLM.
Веса/параметры (Parameters):
Простыми словами: Это сами "обученные нейрончики", их значения внутри нейросети (LLM). Их миллионы и миллиарды. В процессе обучения модели эти параметры подстраиваются так, чтобы модель лучше выполняла свои задачи. Чем больше параметров, тем потенциально модель умнее и способнее к сложным задачам, но как результат и тем она "тяжелее" (требует больше ресурсов).
Аналогия: векторная графика, где можно нарисовать синий круг и это будет всего 3 байта (круг+синий+размер). Больше объектов (параметров) – потенциально более детализированная картинка (и умная модель), но и файл (модель) занимает больше места т.к. описывает значительно большее количество объектов и их связей.
Пример: Llama 3 8B (8 миллиардов параметров), Llama 3 70B (70 миллиардов параметров). 70B модель значительно "тяжелее" 8B.
Параметры (parameters) в контексте нейронных сетей и LLM — это совокупность всех обучаемых (learnable) значений в модели. В подавляющем большинстве случаев это включает в себя:
Веса (Weights): Это числовые значения, которые определяют силу связи между нейронами в разных слоях сети. Это основная часть параметров в любой глубокой нейронной сети, включая LLM. Именно веса умножаются на входные данные или активации предыдущего слоя.
Смещения (Biases): Это дополнительные числовые значения, которые добавляются к результату взвешенной суммы в нейроне (перед применением функции активации). Они помогают модели лучше аппроксимировать данные, позволяя сдвигать функцию активации.
Ключевой момент: И веса, и смещения подбираются (обучаются) в процессе тренировки модели на данных.
Поэтому, хотя технически "параметры" включают и веса, и смещения, можно сказать, что:
Веса составляют абсолютное большинство параметров (часто >99% в больших моделях).
Когда говорят о "миллиардах параметров" LLM, в основном имеют в виду именно веса.
Так что да, для упрощенного понимания можно считать, что "параметры" — это в первую очередь "веса", просто помня, что технически туда входят еще и смещения. Это те самые числа, которые хранятся в файле модели и загружаются для работы.
Квантизация (Quantization):
Простыми словами: Это процесс "сжатия" модели LLM для уменьшения её размера и требований к памяти. Это достигается за счет снижения точности чисел, которыми представлены её параметры.
Аналогия: все мы используем(даже если не знаем об этом) бесконечное число π = 3.1415926535... Для многих даже космических расчетов достаточно использовать 3.14592. Мы потеряли в точности, но запись стала занимать весьма понятное количество памяти, да и оперировать с ним стало возможно с достаточной для определенных задач точностью. Квантизация делает то же самое с миллиардами параметров модели.
Пример:
Исходная модель может использовать формат FP16 (16 бит на параметр, высокая точность, большой размер).
Квантизованная модель может использовать Q4_K_M (в среднем 4 бита на параметр, точность ниже, размер значительно меньше). Модель Llama 3 70B в FP16 весит ~140 ГБ, а в Q4_K_M - около 40 ГБ! Это позволяет запустить её на более простых компьютерах.
Важно: Небольшая потеря точности часто почти незаметна для качества ответов, но выигрыш в размере и скорости (если, например, влезает в VRAM) огромен.
GGUF (ранее GGML):
Простыми словами: Это популярный формат файла, в котором хранятся квантизованные (сжатые) модели. Этот формат разработан специально для эффективной работы LLM на обычном железе (CPU + GPU) с помощью библиотеки llama.cpp.