❤️☠️🤗 идейная миграция небытия
Я всегда любил маленькие умные модели. Не очень сложно на большом масштабе получить хорошие результаты, а вот на маленьком - сложно.
Чуваки сделали 1.3b(mini llama based) в стиле llava модель, которая почти не уступает (3 цифра после запятой) 7b llava.
Hf
Я с Олей познакомился много лет назад в те времена когда из России брали на стажировки в фангу, сейчас конечно много чего изменилось, но советы по подготовке по прежнему актуальны, спойлер: можно притвориться проживающим в Казахстане/армении/.... и вы станете ультра хайп стажёром в топовой конторе, а там глядишь и employe станешь🤤
И даже если вы лох(как я) то этот опыт будет супер полезен, если что - всегда можно пойти на синиора в мясо деплоить кредитный скоринг за много денег
Плюсы:
- Оригинальный докерфайл.
- Все зависимости из requirements на месте.
- Память не течет.
- DDP запускается.
Минусы:
- Результаты не воспроизвелись (оно и ясно, код написан на китайском форке лайтнинга).
- Комментарии на английском, сын говорит только на русском 💪
Комментарии:
Запускал 7 летний сын, провозился несколько дней. Потребовалась моя помощь. Второй раз запускать не буду.
AutoNumerics-Zero: Automated Discovery of State-of-the-Art Mathematical Functions [2023] - ещё одно AI-открытие уходящего года
Продолжаем тему оптимизации программ. Почти одновременно с FunSearch вышла другая работа от Deepmind, правда, не применяющая LLM, и поэтому попавшая только в Just Links. Идеологически она похожа на AutoML-Zero, про который я уже тоже писал пост.
Итак, мы умеем легко и быстро производить на компьютере 4 базовые арифметические операции. Однако, "трансцендентные" функции, например, экспоненту, нельзя легко посчитать. Компьютер их считает приближённо, например, с помощью ряда Тейлора. При этом, нам достаточно уметь приближать её на промежутке [0;1], т.к. в целую степень мы умеем легко возводить и таким образом получить любую степень.
Итак, задача - найти как можно более короткую / быструю программу, вычисляющую экспоненту на отрезке с заданной точностью. Авторы представляют программу в виде графа вычислений (см. картинку). Вершинами является вход x, выход f, константы и математические операции, в которые по направленным рёбрам попадают входные данные.
Генетический алгоритм поддерживает популяцию графов, случайно добавляет мутации в них - добавление вершин, удаление, замена ребра и т.д. Оптимизируется одновременно точность и скорость (кол-во операций или время исполнения). Так как у нас 2 важных критерия отбора, используется специальный алгоритм сортировки популяции, выбирающий программы, сбалансированные по-разному с точки зрения критериев.
В результате, алгоритм не оставляет камня на камне от бейзлайнов, созданных приматами. Количество операций сокращается примерно в 2 раза, но это не самое крутое. Алгоритм подбирает функции так, чтобы компилятор оптимизировал их наиболее выгодно, в итоге скорость возрастает в >3 раза.
И вновь кожанные мешки показывают свою несостоятельность в сложных многослойных задачах, которые нельзя разбить на изолированные кусочки. End-to-end алгоритмическая оптимизация не оставляет нам никаких шансов.
@knowledge_accumulator
Дед мороз пихает подарок админу в домоход
Читать полностью…Ну все, закат эпохи MoE, а начиналось так красиво😭
Тут вышла новая модель, которая модифицирует Mistral не добавлением экспертов, как в MoE (мне до сих пор не понятно как это чудо тюнить и куда пихать), а копированием и задвоением слоев
Технология такая: копируем слои модели, обрезаем немного с верхушки и с конца (авторы объясняют это борьбой с неоднородностью слоев). Ну и стакаем вместе. Идея не супер новая, но работает, теперь в лидерборде модель в сумме на 11B параметров красуется выше, чем 47B Mistral в сумме
Еще непонятно почему авторы обрезают именно 8 слоев. Поясняют это буквально тем, что так надо. Но в общем и целом, красивое решение и можно проделывать с любой новой архитектурой, которая даст прирост
🙂Папир
по прежнему считаю эту картинку лучшей визуализацией текущего развития general ai
Читать полностью…какими сервисами на основе genai вы пользуетесь вот прям ежедневно?
про меня:
у меня свой бот на gpt4 который имеет ретривалы в документацию hf/diffusers/torch
deepl
mj очень редко
друзья!
во-первых, вот красивое видео 👆
во-вторых, мы отстаем от шаблонов для ноушена блин, если вы еще не переходили по ссылке то пожалуйста сходите! https://www.producthunt.com/posts/spiritme-ai-scriptwriter
Всем привет! Хочу рассказать про ещё одну обученную мною модель под названием PavelGPT-7B-128K-v0.1-LoRA, на этот раз я взял скрипты Saiga (rulm) и модифицировал их таким образом, чтобы получить языковую модель типа INSTRUCT, но с данными оформленными в виде чата (для того чтобы её было легко использовать в связке с проектами типа text-generation-webui).
В качестве основы взял Yarn-Mistral-7b-128k, а датасеты собирал таким образом, чтобы модель могла не только решать базовые задачи, но и отгадывать загадки, а ещё решать несложные математические задачки, писать небольшие тексты, составлять оглавление и создавать простые скрипты.
Вот все ссылочки, которые могут пригодиться:
- скрипт обучения модели
- отчёт обучения на wandb
- тестовые ответы модели в карточке на huggingface
- скрипт запуска модели
PS. Мне давно хотелось сделать себе чуть более умного помощника для работы с документацией которую я храню в Obsidian и пока что впечатления от использования данной модели более приятные чем от предыдущих моих экспериментов.
Надеюсь вам данная моделька тоже окажется полезной :)
#ai #saiga #gpt
Корпоративная культура и бесплатные обеды
Многие компании покупают лояльность начинающих спецов простыми хаками - когда ты на втором курсе бесплатный обед в красивом офисе весомый аргумент чтобы выбрать компанию R а не B, а там глядишь и проработает десяток лет без вылазно, сами вырастим, потом ипотеку поближе к работе поможем взять, а это ещё лет на 10.
Ладно, я гиперболизирую, но суть понятна.
А дальше начинаются увлекательные финты: ну это, мы тут тебе акций отсыпем(сумма < Годового оклада) ну там на коэф надо поработать, тут команду потыкать. - если вы редкий специалист или перформите значимо лучше других.
А обычно: обеды по бейджу и 5% скидка на подписку на Психолога (самого дешёвого)
А потом ты узнаешь что коллега умирает в 32 от инсульта.
В компании забудут и забьют, умер и умер, неприятно конечно, тасочки в джире двигать некому будет, ну да ладно, наймут нового зубастого или кому то работы подкинет. Похуй, так поедет.
Лояльность компании не оплачивается, вас бросят с вашими проблемами как только вы перестанете быть выгодным.
Не работайте на выходных.
Не думайте по ночам как улучшить ваше суб оптимальное решение.
Бессовестно украдено из старого чата канала.
И когда 7b стало small language model
Читать полностью…Привет!
Хочу запоздало поделиться релизом OpenMetricLearning (https://github.com/OML-Team/open-metric-learning) 2.0!
Это библиотека для тренировки deep learning моделей, представляющих ваши данные как вектора.
А ещё, у нас есть зоопарк предобученных моделек для картинок, DDP, много примеров и доков.
Что нового в релизе?
- Переехали на PyTorch 2.0 (было изи) & Lightning 2.0 (было больно)
- Уменьшили количество зависимостей, которые ставятся через pip
- Сделали стабильную поддержку всех актуальных версий Python: теперь CI/CD гоняет тесты на всём -- 3.8 , 3.9, 3.10, 3.11
- Пофиксили мелкие неприятные баги, причесали документацию, упростили запуск пайплайнов на публичных датасетах (InShop, Stanford Online Products, CARs, CUB)
Надеемся, что все эти изменения сделают OML более удобным для вкатывания.
Ваши ⭐️ на GitHub очень приветствуются!
Мы с корешами на защите проекта в школе:
Читать полностью…Доехал релиз mj v6
- т5 как энкодер, твердо и четко
- 2.7x быстрее(кэшинг? lcm?)
Помните канал Ai abuzzer? Как то раз он не поделился дошироком с админом и где теперь этот ваш Ai abuzzer?
По мотивам
У меня есть 2 новости:
1. Я наконец дописала статью про отбор в DeepMind
2. Как раз вчера открылся набор на следующий год, читать подробности и подаваться тут, дедлайн 30 сентября
P.S. А если вам хочется на стажировку в Bloomberg, то податься уже можно тут
На работу я выхожу 15 января, а один из двух парттаймов завершился. Это значит, освободилось полдня на то, чтобы заниматься оверинженирингом петпроджектов. А именно — новую версию @ffmemesbot — и решил я ее делать опенсорсно. Так что подписывайтесь, ставьте звезды ⭐️
🔗 github.com/ffmemes/ff-backend
На днях мне написало порядка 10 людей и общими усилиями мы набросали в Miro как-то архитектуру бота. Решили начать разработку с сервиса storage
, который будет собирать, хранить и фильтровать мемы, чтобы потом к нему прикрутить реком систему и “фронтенд” в виде тг бота.
За пару дней завел FastAPI и прикрутил Prefect Cloud с воркерами, воруя древние сниппеты кода у своего же стартапа. Будем стараться делать монолит, только ML штучки, возможно, в отдельные микросервисы уйдут, если разберусь с MLFlow.
Кстати, если вы знаете хорошие OCR либы / сервисы с щедрым free tier - поделитесь в комментах, плиз. Мне нужно текст с мемов на произвольном языке доставать, но почти всегда есть догадки, какой язык стоит детектировать.
А можно флексить что у меня миллионы просмотров?
Читать полностью…Лол, в начале года работал над похожим Cloned Transformer - такая же логика: копируем средние слои в центре.
Учил на Habr + кусок ruLM, не анонсил в паблик уже не помню почему
Hf model
Альтернативная модель (код)
Градиентные бустинги обычно хорошо блендятся с нейронными сетями, поэтому начали пробовать их в отработанном пайплайне.
1. Трансформер. Результаты были плохие. Скор на валидации составлял 0.685, а время обучения на один фолд занимало два часа. Обучение было медленным и результаты неудовлетворительными.
2. Сеть Conv1D. Результаты были немного лучше, но все равно неудовлетворительными. За один день удалось создать модель, которая показывала такой же скор как трансформер (0.685) на валидации, но обучалась в 10 раз быстрее. Сосредоточились на этой модели и провели более ста экспериментов, чтобы добиться ее эффективной работы. Я не буду подробно описывать процесс подбора архитектуры, но если вам интересно, вы можете прочитать подробности в оригинальном посте по ссылке.
3. Идея итогового решения заключалась в использовании модели WaveNet, которую модифицировали, чтобы она создавала эмбеддинги для duration, text_fqid, room_fqid, fqid, event_name + name и предсказывала ответы для каждого стейджа.
- На первом этапе обучаем отдельную сеть на BCELoss для каждого стейджа, предсказывая все ответы этого стейджа. (В игре есть три блока с ответами, между которыми идет сама игра. Все ивенты с начала игры/прошлого ответного блока и называется стейджем).
- Затем замораживаем веса базовой модели (отрезая BCE-голову) и обучаем другую голову, которая получает на вход конкатенацию доступных эмбеддингов для всех стейджей. На первом этапе у нас есть только один 24-мерный эмбеддинг, на втором - два эмбеддинга, и на третьем - три эмбеддинга. Мы также обучаем эту структуру на BCE и подбираем лучший вариант, исходя из метрики F1 (которая является метрикой соревнования).
4. В итоге получили результат 0.70175 для одной модели, что сопоставимо с результатами градиентного бустинга.
Киберпанк ближе чем ты думаешь и это пугает.
Читать полностью…сегодня я узнал
- в узбекистане есть завод кокаколы
- она вкуснее чем европийская, но чуть хуже китайская
Алаймент не нужен до тех пор пока модель не может посчитать сколько шариков поместиться в жопе у СЕО
Читать полностью…Нашла канал журнала "КВАНТ":
/channel/kvant_magazine
В основном там выкладываются новые номера журналов и делаются репосты из других каналов, связанных с математикой - чаще всего с школьной олимпиадной. Есть и объявления о новых конкурсах по решению олимпиадных задач.
Примеры постов:
🌟 Сентябрьский выпуск "КВАНТа" этого года в pdf - /channel/kvant_magazine/135 . Не знала, что теперь pdf-ки так быстро выкладываются;
🌟 Декабрьский номер "Квантика" - /channel/kvant_magazine/123 (это журнал, напоминающий "КВАНТ", но меньше по объему и с намного более простыми задачами и статьями);
🌟 Кратко о том, какие новые математические этюды появились в этом году /channel/kvant_magazine/80 (репост);
🌟 Список избранных постов профессора Виктора Губы, собранных в его память (умер в этом месяце, к сожалению) - /channel/kvant_magazine/130 (репост). Там есть темы чуть посложнее; собираюсь почитать про Банаха-Тарского и трансцендентность.
🌟 Объявление о конкурсе для школьников (уже просроченное; привела для примера) - /channel/kvant_magazine/101
---
Журнал КВАНТ был одним из тех источников информации, с которых началось мое увлечение математикой. Где-то лет пятнадцать-семнадцать назад, когда была подростком, я выписывала этот журнал по почте (не электронной) и была очень рада каждый раз, когда он приходил. А ещё время от времени решала задачи из "Задачника КВАНТа" и отправляла их в редакцию на проверку. Однажды в ответ мне даже прислали маленькую брошюрку по математике за мои решения. Это очень приятное воспоминание. Рада, что журнал продолжают выпускать (а ведь ему уже больше 50 лет).
#математика
For Distillation, Tokens Are Not All You Need
Mrigank Raman, Pranav Mani, Davis Liang, Zachary C. Lipton
Статья: https://openreview.net/pdf?id=2fc5GOPYip
Новости дистилляции. Статья с воркшопа Instruction Tuning and Instruction Following на NeurIPS 2023.
TL;DR Авторы предложили метод дистилляции LLM под названием SLIM, использующий значения топ 5% логитов для дистилляции на каждом шаге декодирования + динамическое взвешивание KL/CE лоссов. Результат лучше классической дистилляции, SFT и MiniLLM. Метод скейлится до учителей размером ~70B.
Если поглубже, то современные LLM доросли до огромных размеров и часто используются для аннотирования и генерации инструкций для файнтюнинга малых моделей. Классика файнтюнинга при этом -- supervised fine-tuning (SFT), дообучение на новых (сгенерированных) текстах как на hard labels. Мы знаем, что этот метод несёт сильно меньше информации о распределении, чем мог бы (/channel/gonzo_ML/1911).
Дистилляция уже используется для LLM (и многие маленькие LLM получаются из больших, та же Gemini вроде как) и с ней есть сложности. Например, маленькая модель может быть недостаточно выразительной, чтобы покрыть все моды распределения учителя.
Недавний метод MiniLLM (https://arxiv.org/abs/2306.08543) заменяет forward Kullback-Leibler divergence (KLD) на reverse KLD, чтобы предотвратить переоценку студентом низковероятностных регионов распределения учителя. Там для обучения использовался RL, что добавляло сложности. Текущая работа всё упрощает и улучшает, подход назвали SLIM (Sparse Logit Infused Modeling).
Идея проста. Давайте по нашему датасету для обучения через модель-учителя создадим датасет логитов (выходы нейронов без применения функции активации). Для каждого токена в последовательности получаем соответственно V (размер словаря) значений, это будут soft targets. Проблема с таким подходом, что это требует дофига места. Для уменьшения требований предлагается взять только 5% максимальных логитов для каждого токена, остальные считать нулями, так получаются разреженные логиты.
Дальше запускаем процедуру дистилляции (для тех, кто забыл как это работает, можно почитать тут /channel/gonzo_ML/118), где в качестве целей берутся soft targets и лосс, являющийся взвешенной суммой обычного кросс-энтропийного лосса (CE) и традиционного KL лосса. Вес KD лоссу даётся зависящий от соотношения логита учителя и студента, таким образом он получается адаптивным и у KL компоненты больше вклад, когда у учителя больше уверенность в предсказании, чем у студента.
Подход проверили на задачах следования инструкциям. Оценивали по Rouge-L и через фидбек от GPT-4. Сравнивались с SFT на hard labels и MiniLLM, для обучения использовали 7B модели LLaMA, LLaMA 2, MPT, учитель был 13-30B. SLIM даёт результат лучше бейзлайнов. SFT вообще хуже всех.
Затем проверили на downstream задачах: ARC, Hellaswag, MMLU, TruthfulQA. Здесь сравнивались с SFT на LLaMA 2 70B в качестве учителя и Llama2-7B в качестве студента. Тоже лучше.
Также проверили генерацию данных для предобучения. Взяли Pythia-6.9B и сгенерили ей датасет текстов + 5% логитов. Затем обучили случайно инициализированную Pythia-160M на подвыборках датасета разного размера. По графику перплексии показали, что SLIM более sample efficient, чем SFT и обычная дистилляция. Я тут не до конца понимаю, что именно они всё-таки под обычной дистилляцией подразумевают, более классический KL лосс чтоли и без топ 5%?
Anyway, просто и эффективно. Метод вроде не сильно отличается от классической дистилляции, не назвал бы его радикально новым, по мне так скорее итеративное улучшение. Интересно, как сами OpenAI, Гугл и остальные внутри себя модели дистиллируют. Есть ли большая разница.
в сегодня лет я узнал о существовании gradient_penalty для diffusion
Читать полностью…тред статей 2023
закидывайте статьи с которыми по вашему мнению должны ознакомиться спецы из других областей
Zero1
Zero2
Zero3
Анимешники ебучие в Microsoft работают короче.
Новый Брокен Дэнс — про Муджуса 💗
Для меня «Downshifting» Муджуса всегда будет тем альбомом, с которого в российской музыке официально закончились 2000-е и начались 2010-е.
Я прекрасно помню «Афишу» с Романом на обложке, где было написано, что он новый Цой (фотография, кстати, Гоши Рубчинского). Покадрово знаю клип «Выздоравливай скорей». И благодарен людям, которые почти целиком засняли для ютуба выступление Муджуса на Пикнике-2011 — неровное, неидеальное, стеснительное, но хорошо схватившее энергию Романа в тот момент.
Мне всегда нравилось думать про этот альбом как про отложенную смску, которая дошла до адресатов («адресантов», сказал бы Муджус) сильно позже, но вдохновила целое поколение следующих музыкантов (от Петара Мартича до Куока) на собственные опыты с песнями.
Про все это рассказываю в новой серии «Базы». Таким выпуском не стыдно закончить год, но закончу все-таки другим.
Спасибо главному евангелисту Муджуса в России Саше Горбачеву за то, что принял участие в видео. Подписывайтесь на его канал @musicinanutshell и слушайте его прекрасный подкаст «Он увидел солнце».
Приятного просмотра!
https://youtu.be/kHAzkHYVNYg