GLM 4.1V устанавливает новые стандарты в области понимания языка и зрения
Мы широко освещали популяризацию моделей больших языков с открытым исходным кодом в этом блоге, и это не без причины. За последние несколько лет, с момента выхода [GPT 3.5 https://platform.openai.com/docs/models/gpt-3-5), на наш взгляд, модели больших языков стали одним из самых мощных, способных и полезных результатов революции ИИ. Это связано с тем, что их возможности наиболее близки к возможностям настоящего человека, что делает их интерактивность и потенциал интеграции непревзойденными в мире ИИ.
Но у LLM есть одна явная проблема: они работают только в одном режиме. В частности, это означает, что они принимают только язык и выводят язык. Хотя языковые/текстовые данные универсальны таким образом, каким не могут быть другие типы данных, это ограничение мешает LLM использовать все доступные источники данных для обучения.
От задач, таких как OCR, до понимания видео, эта способность обрабатывать данные изображений имеет далеко идущие последствия для задач ИИ. В последние несколько месяцев мы внимательно изучали LLMs с возможностями обработки визуальной информации, пытаясь понять, как будет развиваться эта новая сфера разработки LLM. Модели, такие как BAGEL и OmniGen2, демонстрируют отличные способности для задач понимания визуальной информации, например, но их производительность не была на уровне настоящих LLM. Проблема действительно заключается в том, как создать модель языкового восприятия, которая будет одинаково эффективна в обеих сферах?
В этой статье мы рассмотрим последнюю модель, пытающуюся решить эту проблему в отношении зрения, GLM 4.1V. Серия моделей языка мышления GLM 4.1 от KEG & THUDM/KEG – это новая семья LLM, доступная сообществу с открытым исходным кодом, которая превосходно справляется с рассуждениями как над языковыми, так и над изображениями. В этой статье мы обсудим причины разработки этой серии моделей, рассмотрим архитектуру, которая делает модель возможной, и продемонстрируем, как запустить модель на графическом процессоре AMD MI300X Droplet.
Ключевые выводы
- GLM 4.1V — это современная модель визуального языка, способная к высококачественной транскрипции изображений и текста в текст.
- Исследователи GLM 4.1V выяснили, что многодоменное обучение с подкреплением приводит к надежной обобщаемости между доменами.
- Запуск GLM 4.1V на GPU-дроплете DigitalOcean Gradient занимает только время для загрузки модели.
Разбор GLM 4.1V
GLM 4.1V является последним проектом в длинной серии проектов GLM от KEG/THUDM. Начиная с оригинального GLM, они успешно работали над улучшением своего дизайна и источников данных, чтобы создать все более надежные версии своего флагманского LLM. GLM 4.1V Base и GLM 4.1V Thinking являются их следующим ощутимым шагом вперед, расширяя и развивая возможности их моделей для охвата новых модальностей и задач рассуждения.
Для успешного создания GLM 4.1V авторы внесли несколько значительных вкладов в обучение с подкреплением для LLM:
- Многопрофильное обучение с подкреплением демонстрирует надежную генерализацию между доменами и взаимное содействие. Они установили, что обучение в одном домене повышает производительность в других, а совместное обучение по всем доменам дает еще большие улучшения в каждом из них.
- Динамический выбор самых информативных задач развертывания имеет решающее значение как для эффективности, так и для производительности. Поэтому они предлагают стратегии, включая обучение с подкреплением с куркулирной выборкой (RLCS) и динамическое расширение выборки с использованием экспоненциального скользящего среднего (EMA), основанного на соотношении.
- Надежная и точная система вознаграждений является критически важной для многодоменных методов обучения с подкреплением. При обучении единой модели VLM по различным навыкам даже небольшая слабость в сигнале вознаграждения для одной способности может привести к краху всего процесса.
В совокупности эти вкладки приводят к GLM 4.1V Base и GLM 4.1V Thinking. Давайте более подробно рассмотрим, что происходит под капотом модели.
Архитектура и конвейер модели GLM 4.1V
GLM-4.1V — это модель, состоящая из трех основных компонентов: кодировщика изображения, адаптера MLP и большой языковой модели (LLM) в качестве декодера. Они используют AIMv2-Huge в качестве кодировщика изображения и GLM 4.1 в качестве LLM. В рамках кодировщика изображения они применяют стратегию, аналогичную Qwen2-VL, где оригинальные 2D-свертки заменяются на 3D-свертки. Это позволяет осуществлять временное понижение разрешения в два раза для видеовходов, тем самым повышая эффективность модели. Для одномоментных входных изображений изображение дублируется для сохранения согласованности.
Чтобы поддерживать произвольные разрешения изображений и соотношения сторон, они внедрили две адаптации. Во-первых, они интегрировали 2D-RoPE, ротационное позиционное встраивание для Vision Transformer, что позволяет модели эффективно обрабатывать изображения с экстремальными соотношениями сторон (более 200:1) или высоким разрешением (свыше 4K). Во-вторых, чтобы сохранить основные возможности предобученного ViT, они решили сохранить его оригинальное обучаемое абсолютное позиционное встраивание. Во время обучения эти встраивания динамически адаптируются к входным данным переменного разрешения с помощью бикубической интерполяции.
Запуск GLM 4.1V на GPU Droplet
Запуск GLM 4.1V на GPU Droplet прост, и легко использовать как AMD, так и NVIDIA GPU Droplet. Подумайте, какой тип машины может быть лучше для вас при выборе машины для этого проекта, но мы рекомендуем как минимум NVIDIA H100 или AMD MI300X. Они обеспечат достаточный объем памяти GPU для быстрой загрузки и запуска моделей. A6000 также может быть достаточен, но будет значительно медленнее.
Настройка окружения
Следуйте инструкциям, изложенным в нашем учебном пособии по настройке окружения, чтобы запустить ваше окружение. Нам нужно будет следовать каждому шагу, так как мы собираемся использовать Jupyter Lab для этой демонстрации. Как только вы закончите настройку своего Python-окружения для демонстрации, запустите Jupyter Lab с помощью следующей команды:
pip3 install jupyter jupyter lab --allow-root
Используйте выданную ссылку с функцией простого браузера вашего локального приложения VS Code или Cursor, чтобы получить доступ к Блокноту в вашем браузере.
Использование модели для задач визуального и языкового понимания
Теперь, когда наша среда настроена, создайте новую IPython Notebook, используя окно Jupyter Lab. Как только это будет сделано, откройте её и щелкните в первую ячейку кода. Вставьте следующий код на языке Python в ячейку.
from transformers import AutoProcessor, Glm4vForConditionalGeneration import torch MODEL_PATH = "THUDM/GLM-4.1V-9B-Thinking" messages = [ { "role": "user", "content": [ { "type": "image", "url": "https://upload.wikimedia.org/wikipedia/commons/f/fa/Grayscale_8bits_palette_sample_image.png" }, { "type": "text", "text": "describe this image" } ], } ] processor = AutoProcessor.from_pretrained(MODEL_PATH, use_fast=True) model = Glm4vForConditionalGeneration.from_pretrained( pretrained_model_name_or_path=MODEL_PATH, torch_dtype=torch.bfloat16, device_map="auto", ) inputs = processor.apply_chat_template( messages, tokenize=True, add_generation_prompt=True, return_dict=True, return_tensors="pt" ).to(model.device) generated_ids = model.generate(**inputs, max_new_tokens=8192) output_text = processor.decode(generated_ids[0][inputs["input_ids"].shape[1]:], skip_special_tokens=False) print(output_text)
Что это делает, так это сначала создает и загружает нашу модель из HuggingFace. Затем мы берем URL-адрес входного изображения и текст, формируем ответ и вводим их в модель. Модель затем возвращает ответ, который декодируется в простой текст для нас.
На нашем опыте, GLM 4.1 является более мощной моделью «зрение-язык», чем любая доступная на сегодняшний день открытая альтернатива. Она отлично справляется с такими задачами, как OCR, описание объектов и создание заголовков для изображений. Мы рекомендуем всем рассмотреть возможность добавления GLM 4.1 V в свою глубокую обучающую цепочку, особенно если вы работаете с данными, богатыми изображениями.
Заключительные мысли
GLM 4.1V является исключительной моделью Vision Language. Она не только мощная, но и очень просто начать её использование на GPU Droplet от DigitalOcean. Мы призываем вас попробовать эту модель в вашем рабочем процессе и рассмотреть её для задач, таких как OCR для RAG.



Добавить комментарий