Интересное что-то
517 subscribers
2.72K photos
253 videos
139 files
4.52K links
Материалы и мысли, понадерганные отовсюду
Блог: https://t.me/asisakov_channel
Чат: https://t.me/youknowds_chat
Download Telegram
Forwarded from Душный NLP
Технический отчёт Qwen2.5-Coder

Qwen2.5-Coder — семейство моделей, предназначенных для генерации кода. Его технический отчёт вышел ещё в прошлом году, но там много интересного, что стоит разобрать. Этим и займёмся.

Модель учили работать как с отдельными файлами, так и с целыми репозиториями. Что касается токенизации, то авторы взяли словарь Qwen2.5 на 151,646 токенов, но добавили к нему спецтокены. Например, для обучения в режиме Fill-in-the-Middle (FIM).

В датасете для допретрейна было пять типов данных:

— код на 92 языках программирования — примеры брали с GitHub до февраля 2024 года. Использовали фильтры на эвристиках, чтобы отсеять некачественные данные;
— text-code grounding data — уже не только код, но и документация, руководства. Использовали итеративную иерархическую фильтрацию: сперва брали большой массив данных, но с каждым шагом фильтрации их становилось всё меньше;
— синтетические данные — их генерировали с помощью CodeQwen1.5. Оставляли только выполнявшийся код;
— математические данные — использовали претрейн-датасет Qwen2.5-Math;
— текст — использовали данные из претрейна Qwen2.5, но без кода. Авторы хотели, чтобы модель получилась достаточно универсальной и умела решать различные задачи, а не только связанные с программированием. По результатам бенчмарков, лучше всего себя показала пропорция кода, математики и текста — 7:2:1.

Сперва был допретрейн на уровне файлов. Контекстное окно тут составляло не более 8 тысяч токенов. Здесь как раз и использовали FIM. Следом шло обучение на уровне репозиториев с контекстным окном до 32 тысяч токенов за счёт увеличения параметра RoPE base до миллиона. Для экстраполяции до 128 тысяч применяли технику YARN.

На посттрейне обучили модель CodeBERT, чтобы классифицировать документы по примерно сотне языков программирования. При этом авторы сохраняли все найденные документы на популярных языках, а те, которые написаны на редких — частично удаляли. Кроме того, убирали все примеры без кода, потому что на этапе инструктивного обучения они ухудшали показатели на бенчмарках.

Для репозиториев на GitHub генерировали инструкции неназванной в отчёте LLM, а с помощью другой модели — тоже неназванной — создавали ответы. Третья LLM занималась фильтрацией полученных пар. Для повышения точности использовали фьюшот на опенсорсных инстракт-датасетах — например, McEval-Instruct.

Для формирования мультиязычного SFT-датасета использовали языкоспецефичных агентов, у каждого из которых, как заявляют авторы, был свой банк памяти с историей генераций. В целом, в техническом отчёте не хватает конкретики по SFT-датасету. Оценка получившихся пар примеров производилась по чеклисту из 9 параметров. Среди них: соответствие ответа вопросу, сложность, наличие кода, его правильность и ясность.

Самый трудный с точки зрения разработки элемент — это мультиязычная «песочница». Нужно было обеспечить поддержку каждого из 92 языков программирования, собрать репозиторий эталонного кода, создать генераторы юнит-тестов, движки выполнения и анализаторы результатов. «Песочница» — вещь итеративная, которая нуждается в постоянной поддержке. Для этого разработчики привлекли экспертов, что делает «песочницу» особенно ресурсозатратной.

SFT сперва осуществлялся на нескольких десятках миллионов не слишком качественных, но разнообразных примеров. Затем с помощью rejection sampling выборка снижалась до нескольких миллионов лучших сэмплов.

Чтобы на этапе SFT модель не разучилась работать с длинным контекстом, авторы использовали короткие инстракт-сэмплы с FIM. При этом добавленный контекст — синтаксис — получался с помощью парсинга библиотекой Tree-sitter-languages. Примеров, обогащённых контекстом, было меньше, чем обычных SFT-данных.

В рамках DPO использовали RLEF для сигналов о том, что код работает, а также юнит-тесты для некоторых примеров. Были и примеры без кода, чтобы модель могла решать задачи, не связанные с программированием. В качестве LLM-as-a-judge выступала 4о.

Разбор подготовил Алексей Малафеев

Душный NLP
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Адель и МЛь
This media is not supported in your browser
VIEW IN TELEGRAM
Diffusion LLMs

На днях ко мне подошел коллега и спросил про диффузионные модели. Одна из его протеиновых моделей - RF Diffusion - основана именно на них, и коллеге было интересно, что это за зверь и в чем разница с другими. Я ему объяснял про диффузии и генерацию картинок против авторегрессии и генерацию текста.

Но оказывается, текст пытаются генерировать и с помощью диффузий тоже. Выглядит это немного инопланетно: сначала появляется какой-то мусор и шум из слов, который постепенно преобразуется во что-то адекватное (ну как при генерации картинок - сначала шум, потом детали). На видео справа пример генерации кода моделью Mercury от Inception Labs.

Деталей модели, к сожалению, никаких. Есть только скоростные характеристики. Дизайна обучения, размера, метрик пока не опубликовали. Но есть демо и api для enterprise. Надо включить diffusion effect в правом верхнем углу.

Из open-source мира есть LlaDa - тут уже много деталей.

Интересный подход.
Forwarded from Anton Eryomin
https://www.youtube.com/shorts/ctFkqftb0us

можно найти прямо вот ответы на все лидершип принциплс 🙂 и прочие вопросы
​​OpenAI: Reasoning best practices

У OpenAI столько моделей, что они публикуют уже не первый гайд о том, какие модели для каких случаев использовать. На этот раз речь об использовании reasoning (o1, o3-mini) vs GPT. Кстати, интересно, что они протипопоставляют o1 и GPT архитектуру, будто у o1 другой подход.

https://platform.openai.com/docs/guides/reasoning-best-practices

Если по сути:
• Если нужно быстрее/дешевле или задачи чётко сформулированы - GPT
• Если нужно качество и достоверность или умение решать сложные проблемы - o1

В целом это довольно очевидно, но дальше показывают красивую картинку того, как чат-бот техподдержки использует микс подходов:
• o1 обрабатывает базу данных компании для общего понимания
• GPT подготавливает конкретные действия по запросу пользователей
• o3-mini валидирует эти предложенные действия

Ну и ещё ряд примеров, когда лучше использовать o1: постановка задачи нечёткая, найти конкретную информацию в большом объёме данных, выстроить причинно-следственные связи и обнаружить зависимости, планирование шагов выполнения задачи, более качественный анализ информации на изображениях (графики, схемы и прочее), ревью кода, оценка качества работы других моделей.

#datascience
Forwarded from Борис_ь с ml
ИИ-агенты для проведения пентеста

#ml_для_иб

Недавно занялся одной научной задачей, и собрал источники по автоматизированным пентест-агентам.

Получился неплохой список, которым я решил поделиться.

1. https://github.com/vxcontrol/pentagi
2. https://github.com/palisaderesearch/intercode
3. https://github.com/xvnpw/ai-security-analyzer
4. https://github.com/KHenryAegis/VulnBot
5. https://github.com/xbow-engineering/validation-benchmarks
6. https://github.com/gyoisamurai/GyoiThon

7. Link: Black-Box Detection of Cross-Site Scripting Vulnerabilities Using Reinforcement Learning https://github.com/WSP-LAB/Link https://www.researchgate.net/publication/360179780_Link_Black-Box_Detection_of_Cross-Site_Scripting_Vulnerabilities_Using_Reinforcement_Learning
8. Can LLMs Hack Enterprise Networks? Autonomous Assumed Breach Penetration-Testing Active Directory Networks - https://arxiv.org/pdf/2502.04227
9. Artificial Intelligence as the New Hacker: Developing Agents for Offensive Security - https://arxiv.org/abs/2406.07561v1
10. BreachSeek: A Multi-Agent Automated Penetration Tester https://arxiv.org/abs/2409.03789
11. HackSynth: LLM Agent and Evaluation Framework for Autonomous Penetration Testing https://arxiv.org/abs/2412.01778
12. LLMs as Hackers: Autonomous Linux Privilege Escalation Attacks https://arxiv.org/html/2310.11409v5
Introducing PenTest++: Elevating Ethical Hacking with AI and Automation https://arxiv.org/abs/2502.09484
13. D-CIPHER: Dynamic Collaborative Intelligent Agents with Planning and Heterogeneous Execution for Enhanced Reasoning in Offensive Security https://arxiv.org/html/2502.10931v1
14. Construction and Evaluation of LLM-based agents for Semi-Autonomous penetration testing https://arxiv.org/abs/2502.15506

Данная публикация носит исключительно научно-обзорный характер.

P.S. Спасибо Артем и Николай.

P. P. S. Параллельно я встретил еще несколько статей про генерацию фишинга
Forwarded from NLP Wanderer
LMSys Arena Explorer

Долгожданный блогпост от lmsys прошел как-то мимо меня.

В чем суть: авторы арены сделали топик моделинг (наконец-таки он интересен) запросов от пользователей и красиво его визуализировали в виде интерактивных pie чартов. А еще появилась отдельная вкладка с визуализацией на сайте lmarena.ai.

Основано на известном опенсорсном пайплайне BertTopic (UMAP + HDBSCAN) и модели text-embedding-3-large от OpenAI.

Для анализа использовали на удивление не очень много данных - за два месяца лета 2024 года и лишь 52 тысячи дедуплицированных промптов. Человеческий преференс датасет с 100к запросами также был опенсорснут, что замечательно, так как происходит редко.

Почему это важно: для разработчиков моделей и датасетов, а также просто энтузиастов и продвинутых пользователей крайне важно понимать категории и подкатегории (таксономии) реальных запросов, оценивать качество моделей на конкретных срезах, понимать для чего именно конечный пользователь использует модель. Очень советую всем хотя бы полистать пайчарт, так как возможно узнаете о новых для себя темах.

Некоторые инсайты
- Запросы сами по себе сильно неравномерно распределены по категориям, что говорит о возможности хакать арену прокачивая самые популярные топики.
- Самая популярная тема в общении с моделями: Веб разработка и скриптинг.
- Романтические советы от LLM почему-то довольно популярны...
- Люди очень часто тестируют модели на логику и математику - возможно этим объясняется большая корреляция скоров арены с бенчмарками, так как вероятно из них вопросы и копируются.
- Медицинские советы хоть LLM давать и не должны, но это вторая по популярности категория запросов

Так же в визуализации есть такие же пай-чарты и для WebDev арены и для text-to-image запросов, что тоже очень полезно видеть.

Кроме того, lmsys сделали еще и отдельную вкладку с так называемой P2L (Prompt-to-Leaderboard) визуализацией, где можно посмотреть качество разных моделей в отдельных категориях и на отдельных промптах, что может помочь выбрать нужную для задачи модель (они даже сделали специальный чат-мод для этого P2L Router).

В целом радует, что сравнение и оценка LLM потихоньку начинает менять свой фокус с отполированных бенчмарков к более интересным юз-кейсам. Например, OpenAI в техрепорте GPT-4.5 представила только лишь мультиязычный MMLU в разрезе по языкам, игнорируя все классические сравнения, а основное внимание сконцентрировала на Red Teaming, агентах и creative writing оценке.
Forwarded from Tensor Banana
Wan image2video и сравнение с skyreels_i2v

Alibaba выпустила сразу 5 моделей с разными размерами (1.3b, 14b), режимами (t2v, i2v) и разрешением (480p, 720p).

Wan поддерживает разрешение до 1280x720p 16fps (hunyuan skyreels i2v - до 544p 24fps)

В воркфлоу есть интерполяция до 16fps->30 fps (процесс занимает секунд 20-30). Без интерполяции видео - дерганое.

Wan NF4(размер 9GB), Wan Q4.gguf (10GB), fp8 (17GB) примерно равны по скорости. Но у квантованных есть деградация качества (хуже следование промпту, иногда генерируют дисторсию). Поэтому рекомендую именно fp8. Попробуйте nf4, если у вас мало vram (например, 12GB). При разрешении 720p намного меньше артефактов, чем при 480p, но время генерации возрастает значительно. Большинство приложенных примеров в 720p, если не указано иное.

Воркфлоу от kijai у меня был в два раза медленнее чем от comfy.

832x480 33fr 15st:
t2v_1.3b (5 GB vram) - 1 минута

832x480 33fr 15st:
i2v_14b_fp8 (18 GB vram) - 4.5 минут
i2v_14b_Q4  (20 GB vram) - 4.5 минут
i2v_14b_nf4 (19 GB vram) - 4 минуты

1280x720 33fr 15st:
14b_i2v_fp8 (20 GB) - 11.5 минут
14b_i2v_Q4  (15 GB) - 11 минут
14b_i2v_nf4 (15 GB) - 11 минут

1280x720 81fr 15st:
14b_i2v_fp8_kijai (39 GB) - 43 минуты

960x544 49 frames 15 steps:
wan_14b_i2v_kijai (29 GB vram) - 14 минут
skyreels_i2v_fp8 - 7.5 минут


- Разрабы WanAI рекомендуют 40 шагов для i2v и 50 шагов для t2v. Но это очень долго и ест много VRAM, поэтому я использую 15 шагов.

- Также есть video2video воркфлоу от kijai на основе 1.3b-t2v. Движение частично подхватывает, лицо не клонирует. Надо будет попробовать real2anime и наоборот.


## Cравнение с Hunyuan-skyreels-i2v

- Качество видео при схожих настройках схожее, но в skyreels меньше движения и хуже следование промпту. В некоторых трудных случаях (аниме и мультики) skyreels просто генерирует дисторсию.

- wan_14b_i2v-544p чуть медленнее чем чем hunyuan_skyreels_13b_i2.

- Wan-t2v из коробки умеет в наготу, но, в большинстве случаев, стремится разместить девушку спиной, либо закрыть причинное место каким-нибудь предметом. hunyuan_t2v в этом плане был покладистей, и анатомия лучше. Но для wan уже появляются лоры на civitai (пока только для wan1.3b), так что анатомию поправят. у i2v модели особых проблем с анатомией не заметил, что на входе то и на выходе. nsfw примеры выложил тут: https://t.me/tensor_art

- По моим впечатлениям, hunyuan_t2v чуть лучше справляется с реалистичностью лица, кожи и NSFW. У wan_t2v почему-то детализации не хватает.


## Установка
- обновляем комфи через update_comfyui.bat

- устанавливаем кастомные ноды через менеджер -> git url:
интерполяция: https://github.com/Fannovel16/ComfyUI-Frame-Interpolation
nf4: https://github.com/silveroxides/ComfyUI_bnb_nf4_fp4_Loaders
GGUF: https://github.com/city96/ComfyUI-GGUF

Качаем модели отсюда https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/tree/main:
- umt5_xxl_fp8 в /text_encoders (внимание: umt5_xxl от kijai (для fp8, fp16) не работает с воркфлоу от comfyanonymous (для gguf, nf4) и наоборот)
- wan_2.1_vae в /vae:
- clip_vision_h в /clip_vision
- модели fp8 в /diffusion_models

Опционально, GGUF:
в /unet: https://huggingface.co/city96/Wan2.1-I2V-14B-480P-gguf

Опционально, NF4:
nf4 в /diffusion_models: https://civitai.com/models/1299436?modelVersionId=1466629

Воркфлоу:
- wan_t2v_1.3b: https://github.com/Mozer/comfy_stuff/blob/main/workflows/wan_1.3b_t2v.json
- wan_i2v_14b_nf4_gguf: https://github.com/Mozer/comfy_stuff/blob/main/workflows/wan_14b_i2v.json
Там же есть другие ворклфлоу, например для skyreels_i2v.

- Опционально ставим triton и sage_attn для windows (ускорение на 15% и уменьшение потребления VRAM): https://www.reddit.com/r/StableDiffusion/comments/1h7hunp/how_to_run_hunyuanvideo_on_a_single_24gb_vram_card/

## Выводы
Если надо качество - юзаем 14b_i2v_720p (ждем  11+ минут). Если нужна скорость - 14b_i2v_480p (ждем 4 минуты) или 1.3b_i2v_480p (1 минута). И ждем лоры.

Фото: David Dubnitskiy
потестить 14b онлайн: https://huggingface.co/spaces/Wan-AI/Wan2.1