Интересное что-то
517 subscribers
2.72K photos
253 videos
138 files
4.51K links
Материалы и мысли, понадерганные отовсюду
Блог: https://t.me/asisakov_channel
Чат: https://t.me/youknowds_chat
Download Telegram
Дополнение про min-p

Как известно, семплеры (температура, top-p, top-k, позже Mirostat, min-p, DRY, XTC и другие) изначально были придуманы, чтобы компенсировать недостатки обучения GPT-подобных языковых моделей.

Такие модели на этапе претрейна и SFT учатся решать задачу _классификации_ (наиболее правдоподобного следующего токена). Inductive bias здесь в предположении, что на каждом шаге порождения текста может быть только один правильный следующий токен. В природе это не так ("Они решили назвать свою дочь <?>" - какой здесь единственный правильный следущий токен?). В обучающих данных это требование тоже не обязано соблюдаться - например, в SFT у вас могут быть разные эталонные ответы на один и тот же промпт.

Могут ли модели научиться в таком режиме генерировать связный текст, не содержащий внутренних противоречий? Да. Но как сделать так, чтобы ответы модели были ещё и разнообразными? Если на каждом шаге генерации брать самый вероятный токен - у вас всегда будут получаться одинаковые ответы на один и тот же запрос. Есть ситуации, когда важно разнообразие и возможность получить несколько неодинаковых ответов. Например, при решении творческих задач: брейншторминг, рерайтинг, ролплей и т.п. Тут на помощь и приходит семплирование. Сильно упрощая, оно позволяет нам не всегда брать самый вероятный токен, что делает ответы более живыми и разнообразными. Однако важно семплировать аккуратно, чтобы не сбиться с мысли и не начать порождать бред. 😵

Классические семплеры, такие как температура и top-p, чувствительны к выбору модели и к решаемой задаче. Например, насыщенные модели, которые обучались на очень большом количестве токенов, требуют более высокой температуры, если нужно разнообразие генераций. Магия же min-p как раз в том, что мы можем использовать одни и те же параметры семплирования практически на любой модели и задаче, и при этом стабильно получать связные и разнообразные ответы. 🙄

Интересно, что этот семплер появился уже довольно давно в сообществе LLM-ролплееров, использующих локальные модели. Вот один из ключевых постов его автора, наглядно разъясняющий его преимущества и недостатки традиционных семплеров. Пост был опубликован в r/LocalLLaMA ещё в ноябре 2023 года!

Я регулярно пользуюсь min-p в личных проектах и экспериментах с локальными моделями уже около года. Это единственный семплер, который у меня включен по дефолту - я не использую top-k, top-p и т.д. Он отлично подходит для всего, кроме, пожалуй, замера бенчмарков, но это особый случай. Если ещё не пробовали в своих задачах - попробуйте! 👍
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from AbstractDL
Люди, которые часто используют ChatGPT — идеальные детекторы AI-текста

Оказалось, что эксперты, регулярно пользующиеся LLM в своей работе, способны распознавать AI-генерацию с почти 100% точностью, обходя все существующие детекторы и БЕЗ ложных срабатываний (в режиме majority voting).

Вот главные признаки сгенерированного текста по их мнению:
- избыточное использование некоторых слов: "crucial", "testament", "vibrant" и др.
- структура слишком "правильная" и предсказуемая
- заключения всегда аккуратные, оптимистичные и подытоживающие

Да, выборка людей была небольшая — всего 9 человек, но это всё равно продемонстрировало, что тексты от GPT-4o, o1-pro и Claude-3.5-sonnet реально детектировать, причём никакие fancy способы защиты (парафразы, доп инструкции) совсем не помогли.

Авторы выложили в открытый доступ код и датасет из 300 пар сгенерированных\реальных статей с очень подробной разметкой.

Статья, GitHub
Forwarded from Варим МЛ (Евгений Никитин)
Что взять для вашей следующей гениальной идеи с LLM под капотом - модель с миллионным контекстом или RAG? Разбираемся!

Заодно хочу порекомендовать (не реклама, платной рекламы всё ещё нет и не планируется) крутой продукт моего коллеги по Цельсу Жени Гутина. Это система на основе дообученных под русский язык Speech2Text и LLM-моделей, которая генерирует автоматический протокол и транскрипт любых ваших звонков. Мы её постоянно используем в Цельсе, а ещё она, вероятно, будет интегрирована в некоторые наши продукты, но я вам об этом не говорил.

#Жека #llm
Forwarded from Product Sweat 💦
https://podlodka.io/407

Самый интересный подкаст, который я прослушал в январе. В нем достаточно базированный чел рассказывает, как с нуля вкатиться в селф-хостинг. То есть как начать некоторые сервисы выносить к себе на локалку или на свой сервер.

Зачем так делать? Ну например хочешь хранить данные у себя в synology и не вываливать на облака. Или у тебя есть серверок и хочешь меньше платить за подписку, а только за аренду сервера (и запускать больше сервисов для себя по цене одной подписки) или просто тебе нравится деплоить как хобби.

Для меня скорее мотивация в локальном умном доме, к котрому я постепенно присматриваюсь, но пока не вкладываюсь, только изучаю. Об этом как-нибудь еще расскажу.
Forwarded from Product Sweat 💦
Product Sweat 💦
https://podlodka.io/407 Самый интересный подкаст, который я прослушал в январе. В нем достаточно базированный чел рассказывает, как с нуля вкатиться в селф-хостинг. То есть как начать некоторые сервисы выносить к себе на локалку или на свой сервер. Зачем…
Вот о чем вы узнаете, если послушаете подкаст (собрано по видео через Google NotebookLM):

* Хоумлабинг (Homelabbing) - создание домашней лаборатории с серверами и сетями для различных задач.
* Пример: Покупка серверов и настройка сети дома для экспериментов и хранения данных.

* Дата хординг (Data hoarding) - хранение больших объемов данных дома.
* Пример: Создание архива фильмов и музыки на домашнем сервере.

* Syncthing - бесплатное программное обеспечение с открытым исходным кодом, которое синхронизирует файлы между платформами.
* Пример: Синхронизация файлов между устройствами без регистрации и подписки.

* RustDesk - бесплатное программное обеспечение с открытым исходным кодом для удалённого управления компьютерами.
* Пример: Удалённый доступ к компьютерам родственников для помощи в решении технических проблем.

* Google Photos - сервис для хранения и организации фотографий.
* Пример: Автоматическое распознавание лиц и поиск по изображениям.

* Галерея (Gallery) - платформа, которую можно использовать для организации библиотеки.
* Пример: Развернуть за несколько минут с помощью контейнеризации на любой доступной платформе.

* Dawarich - программное обеспечение для создания собственной Google Timeline.
* Пример: Использование данных из Google Timeline для визуализации перемещений.

* Google Takeout - сервис для выгрузки данных из сервисов Google.
* Пример: Выгрузка фотографий из Google Photos.

* NAS (Network Attached Storage) - сетевое хранилище данных.
* Пример: Хранение фотографий и других файлов с доступом из разных устройств в сети.

* Raid - технология, которая позволяет одновременно писать вместо одного SSD на два.
* Пример: Использование для повышения надежности хранения данных.

* CDN (Content Delivery Network) - сеть доставки контента.
* Пример: Cloudflare.

* Cloudflare - сервис, предоставляющий защиту от DDoS-атак и другие функции безопасности.
* Пример: Использование для защиты веб-сайта от вредоносного трафика.

* Proxmox - система виртуализации.
* Пример: Разделение домашних приложений в виртуальных машинах.

* LXC контейнеры - позволяют развернуть Docker и Kubernetes.

* Home Assistant - платформа для автоматизации умного дома.
* Пример: Управление устройствами умного дома.

* AdGuard Home - блокировка рекламы и трекеров на уровне всей сети.
* Пример: Блокировка рекламы на всех устройствах в доме.

* Автоматизация мультимедиа (Sonarr, Radarr и др.) - автоматическая загрузка фильмов и сериалов.
* Пример: Автоматическая загрузка новых серий сериалов.

* Calibre - программное обеспечение, которое позволяет читать FB2, EPUB и другие форматы.

* Jellyfin - медиасервер, который позволяет выводить контент на телевизор.
* Пример: Воспроизведение фильмов на телевизоре по беспроводной сети.

* Plex - медиасервер.
*Пример: Вещание в качестве на телевизоре по UPnP протоколу.

* Open Cloud - позволяет организовать свое облако.

* PhotoPrism - альтернатива для фотографии и фотогалереи, которую можно организовать.

* Grafana - инструменты для мониторинга.

* Synology Quick Connect - сервис для доступа к хранилищу Synology из любого места.

* MailPit - Cлушает на 25-м порту, берет все, что ему отправили без авторизации, и делает доставку на почту.

* Community Scripts - репозиторий, где можно почитать об этой штуке.
Forwarded from Product Sweat 💦
Список полезных ссылок
Proxmox Virtual Environment https://www.proxmox.com
Proxmox Community Scripts https://community-scripts.github.io/ProxmoxVE/scripts – Reddit: r/selfhosted https://www.reddit.com/r/selfhosted/
Reddit: r/homelab https://www.reddit.com/r/homelab/
Reddit: r/homeassistant https://www.reddit.com/r/homeassistant/
GitHub: awesome-selfhosted https://github.com/awesome-selfhosted/awesome-selfhosted
GitHub: SelfHosting Guide https://github.com/mikeroyal/Self-Hosting-Guide
Мини-ПК декабря 2024 https://habr.com/ru/companies/selectel/articles/864784/
Каталог железок CaseEnd https://caseend.com/
Блог Techno Tim https://technotim.live/
YouTube “Wolfgang's Channel” https://www.youtube.com/@WolfgangsChannel
YouTube “Christian Lempa” https://www.youtube.com/@christianlempa
YouTube “Hardware Haven” https://www.youtube.com/@HardwareHaven
YouTube “Jeff Geerling” https://www.youtube.com/watch?v=yoFTL0Zm3tw
Tailscale https://tailscale.com/
Dawarich (собственный Google Timeline) https://dawarich.app
Селфхостед почта на отправку https://github.com/axllent/mailpit
Селфхостед sms to Telegram https://github.com/kutovoys/sms-to-telegram
Forwarded from Борис опять
В общем, коротко: SigLIP 2 это лучший на текущий момент CLIP.

К нему приделали все идеи из разных self-supervised методов современного CV и получилось хорошо:
1. Self-distillation при обучении как в DINO/DINOv2. Модель-ученик видит только локальный кроп изображения, модель-учитель (ema от обучаемой модели) глобальный кроп. Так что модель учится по деталям получать те же репрезентации, что и по всей картинке. Это, например, заставляет модель видя нос собаки мысленно "достраивать" всю собаку.
2. Маскировка патчей, что ставит некоторую задачу реконструкции, как в MAE (который Masked Autoencoders от FAIR).
3. Декодер. Прямо при обучении заставляют модель генерировать подписи, ббоксы и подписи к ббоксам. Это, по идее, самое важное: напрямую учат модель связи деталей изображения и текста.

Все это должно полечить вечную проблему клипов, что они хорошо понимают на уровне изображения и плохо понимают детали. Таким образом прошло долгожданное объединение contrastive learning и self supervised подходов.

Ещё подвезли версию устойчивую к разным разрешениям и размерам изображений.

Это конечно Франкенштейн с несколькими лоссами и стадиями тренировки, так что bitter lesson еще придет, но очень круто.

В общем, теперь если нужны какие-то эмбеддинги изображений и текстов берем с полки SigLIP2.
Forwarded from Reliable ML
Почему во времена AI-революции стоит быть осторожным?
Заметки на полях

Решила тут Ирина почитать последние актуальные книги по GenAI - и по внедрению в прод, и про разное менеджерско-стратегическое. Нашлось как всякое интересное (могу потом сделать обзор, если интересно), так и очень интересное.

Например, книга Chief AI Officer Handbook от Packt Publishing. Которую уже после 1й главы начинаешь подозревать в чем-то нехорошем: уж слишком подозрительно структурирован текст, идеальным языком написаны итоги каждого раздела, а главное - уж больно бессмысленно все это в совокупности. До последнего не хотелось верить, что в такое издательство может проникнуть книга, так неприкрыто написанная LLM/ChatGPT, но более детальный разбор показал, что так оно и есть.

Грусть, возмущение и мысли о том, что бедным издательствам теперь будет трудно, и надо что-то менять, чтобы продолжать оставаться ценными для читаталей. А нам, читателям, тоже надо быть начеку и - если мы хотим получать действительно ценную информацию - уметь отличать сгенерированную LLM инфу от человеческой. Уже даже исследования появляются на тему того, что у человека это неплохо получается - лучше алгоритмов.

В голове - с учетом статей - собираются вот такие критерии для идентификации LLM-подставы:

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

- Заключения всегда аккуратные, оптимистичные и резюмирующие

- Часто используются определенные слова. Судя по статье, например, vibrant, crucial, significantly, etc. А по личным наблюдениям, можно даже найти следы промптов в тексте - например step-by-step в заголовках книги про Chief AI Officer.

- Отсутствие понятного посыла или новых/интересных для читателя мыслей. Хотя как единственный критерий это, конечно, не работает. Всякие книги встречаются.

- Фактура спорная, неверная или очень общая. Пример критерия с высоким весом - ссылки на литературу ведут на несуществующие страницы.

- Ни одной (или мало) схем в тексте. У авторов-людей почти всегда есть потребность как-то визуально структурировать и показать наглядно мысли, которые они передают в тексте. Для LLM-текста - человек должен заморочиться отдельным промптом, чтобы собрать подобное. А возможно, даже осмыслить тот текст, который ему написала модель. Это уже существенно отдалит его от полностью сгенеренного.

Есть ли у вас что добавить к списку критериев? Не дадим LLM захватить литературу!

Вот такой вот дивный новый мир. На фоне размышлений о будущем после книги про AI Officers мне вспоминается история из великого башорга. Для тех, кто еще помнит 😄

На картинке - скрин из книги с заголовком с кусочком промпта.

Ваш @Reliable ML

#business #мысли #reliable_ml #llm
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Data Blog
🔎 Probing GPT model: привет, друзья!

Почему бы и не опубликовать туториал под ночь перед понедельником? Я тоже не вижу препятствий.

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

Туториал посвящён зондированию (probing) — простому, но мощному (и красивому иногда) методу для изучения внутренней работы LLM (больших языковых моделей). С его помощью можно получить приближенные знания о паттернах, которые выучивает модель и о том, как эти знания распространяются по слоям.

В туториале рассмотрено:

1. Процесс зондирования на примере GPT2;
2. Анализ информативности скрытых состояний с помощью PCA;
3. Постановку эксперимента (и сам эксперимент) для ответа на вопрос: какой слой по уровню позволяет приближенно решить задачу регресси и хранит информацию по годам?;

Ссылочки:

✔️Код туториала на гитхаб: часть 1, часть 2 (по ссылкам англ версии, но можно провалиться в папку — есть русский).

✔️Статья на Хабр

Добрых вам снов и продуктивной недели!
Ваш Дата-автор!
китайские товарищи предложили еще одну новую идею: не считать всю огромную матрицу внимания, а выбрать из нее только важные блоки; это и до них пытались делать, вспомнить хотя бы BigBird, но тут коллеги предложили делать выбор по принципу смеси экспертов, то есть ввести специальный роутер, который будет отправлять запрос в нужный блок (фактически - на сравнение с нужной фразой); на картинке слева показана принципиальная схема работы самого модифицированного внимания, а справа - в контексте всего трансформера; в заключение хочу отметить вкус коллег в плане названия - MoBA (ждем YoBA)

P.S. стоит отметить, что Moonshot сразу выложили код, за что им отдельный лайк от меня
#sql

Форматер для sql 🤯
Please open Telegram to view this post
VIEW IN TELEGRAM
⚠️Давно не рассказывал о классных штуках, время пришло.

Я раcскажу вам о классном👍 форматере SQL-кода SQLFmt.

Если у вас в компании есть проблемы с соблюдением стандартов форматирования SQL-кода, и вас бесит🤬, что каждый сотрудник пишет код в своем формате, то эта тема 💯 для вас.

Данный форматер устанавливается очень просто, с помощью команды:

pip install shandy-sqlfmt[jinjafmt]


А чтобы отформатировать код необходимо выполнить ну просто "нереальную🤯" команду в терминале(боюсь не каждый с ней сможет справиться, но всё же) :

sqlfmt <путь к sql файлу>


Прелести данной фичи:

🟢Можно накатить CI\CD на деплой, чтобы избавиться от кода противных людишек, которые пишут код в 1 строку;
🟢Поддерживает синтаксисы разных Баз Данных, в том числе и ClickHouse(но для неё нужно установить дополнительный плагин);
🟢Поддерживает Jinja код, поэтому для тех, кто использует DBT, вообще актуальная тема;
🟢Ну и конечно, самое главное — единообразие форматирования кода(примеры на скринах).

Мои коллеги накатили данную приблуду на репозиторий во время миграции, ибо когда мы дошли до задачи переписывания кода формирования витрин на DBT, ужаснулись в том плане, что читать этот код, невозможно, пока его не отформатируешь. И чтобы в дальнейшем такого не было, накатили данную приблуду на репу, где данный код хранился.

‼️Как-то так, не будьте плохишами и пишите код красиво и понятно!👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM