Arslan's Insights

@digital_insights


Я Арслан. В этом канале делюсь своими интересными наблюдениями в мире технологий и не только.

Наблюдения не только технические, но и социальные. Стараюсь писать коротко.

Мой контакт: @arslanurt

Arslan's Insights

20 Oct, 09:11


#state_of_ai_report_2024

Слайд [36] про то, что если не просто по всему обучающему датасету идти, а прямо во время обучения подбирать данные для следующей итерации на основе их полезности для обучения, то модель обучается быстрее. Полезность определяется другой моделью.

Слайд [37-38], в котором авторы замечают, что китайские компании показывают крутые LLM не смотря на санкции. В нем же говорят, что вот мол есть 01.AI, которые фокусируются именно на китайском языке. А где про YandexGPT слайд тогда уж скажите мне?)

Слайд [39] прикольный. Говорят, что вот в 2018 году куча народу пытались сделать модель, которая сможет по картинке описать, что на ней находится. А сейчас в 2024 году это просто сопутствующая задача, которую умеют решать мультимодальные модели даже небольшого размера, таков прогресс. Картинки приложил.

Кажется, слайды про LLM более-менее закончились, следующие слайды вижу про картинки и видео, так что продолжение следует!

Arslan's Insights

19 Oct, 17:45


#state_of_ai_report_2024

Слайд [31] про то, что чем чище данные, тем лучше. Чище - меньше мусора, вранья и тд.

Слайд [32-34] про RAG. RAG - Retrieval Augmented Genration. В контекст модели передаешь дополнительную информацию и модель должна ее использовать для ответа. Интересно, что по прежнему не существует нормального открытого бенчмарка, который нормально учитывает способность модели цитировать информацию, на основе которой происходит генерация. Но внутри яндекса, например, есть соответствующие метрики. Например, есть статья про нейро: https://habr.com/ru/companies/yandex/articles/807801/. Там пишут, что замеряют качество по четырем аспектам: полезность, безопасность, подтвержденность (как раз, что ответ взят из источника) и компетентность. Разметка делается, конечно, вручную, используют 1500-2000 человек для разметки.

Слайд [35] огонь! Про него чуть подробнее:

Для обучения сейчас нужно все больше и больше ресурсов. Кластера для обучения очень требовательны к хорошей сети между серверами. Сеть должна иметь высокую пропускную способность и низкую задержку передачи данных. Так же проессы обучения сильно требовательны к тому, чтобы оборудование было как можно более гомогенным. И вот слайд про исследования, которые призваны бороться с этой проблемой.

В Google DeepMind придумали DiLoCo (Distributed Low-Communication) алгоритм обучения. Который умеет обучать модели на "островах" (группа серверов) с хорошей сетью внутри них и не очень хорошей между ними. Каждый "остров" внутри себя прогоняет много шагов обучения перед взаимодействием с другими "островами". Говорят, что взаимодействие между "островами" меньше в 500 раз. Prime Intellect закодили опенсурсную версию DiLoCo: https://github.com/PrimeIntellect-ai/OpenDiloco. Демонстрируют профит на 1B модели. Как демонстрируют? Тренируют модель на ресурсах на двух континентах, в трех разных странах. Показывают, что эффективно утилизуют при этом вычислительные мощности на 90-95%.

Arslan's Insights

16 Oct, 19:53


Вау, как я пропустил, а вчера еще была новость!

> For example, we are investing to expand Rust usage at Google beyond Android and other mobile use cases and into our server, application, and embedded ecosystems.

https://security.googleblog.com/2024/10/safer-with-google-advancing-memory.html?m=1

Это тектоническая подвижка. Все-таки google - это компания, на которую ориентируются многие в плане процессов и культуры разработки. И эта новость снимает любые вопросы по поводу будущего и перспектив rust.

Это особенно интересно в контексте того, что вообще-то google пытается сделать свою замену C++ - язык Carbon. Но видимо лобби Carbon таки проиграло)

Arslan's Insights

16 Oct, 11:17


#state_of_ai_report_2024

Слайд [25] про yet another способ дообучать модели, не особо интересно.

Слайд [26-27] про альтернаивные архитектуры, которые должны быть лучше, чем архитектура трансформер. Типа mamba-transformer. Сами авторы утверждают, что классная штука. Работает в пять раз быстрее и по качеству лучше. Но я не вижу повсеместного использования mamba вокруг, значит видимо не работает тема. Все обучают/дообучают llama-like модели.

Слайд [28] подтверждение того, что трансформеры рулят. Картинку приложил.

Слайды [29-30] про синтетические данные. Из них можно сделать вывод, что синтетические данные полезны, хотя и не просто их генерировать. И надо использовать и настоящие данные, и синтетические. Только синтетики пока недостаточно.

Продолжение следует...

Arslan's Insights

15 Oct, 09:32


В общем в сумме что получается на основе статей и комментариев уважаемых людей? Можно выкидывать половину слоев в нейросети, веса сжимать в четыре раза, а по качеству это не сильно бьет. Это значит, что стоимость инференса (при эквивалентном качестве модели) будет и дальше падать, причем существенно. И обратное - качество больших моделей будет расти. Америку не открыл, но подкрепил себе свою интуицию)

Arslan's Insights

15 Oct, 09:26


Про квантизацию добавка размышлений.

Вот есть выбор, взять модель 7b или же взять модель 14b, но квантизованную два раза до 8 бит. Какая будет лучше?

Есть статейка: https://arxiv.org/html/2402.16775v1

Показывают на примере qwen модели и mmlu бенчмарка, что лучше взять 14b квантизованную. 14b квантизованная по памяти занимает столько же, сколько и 7b обычная, но имеет лучше метрики при этом.

Так же подтверждают, что квантизация до 4 бит норм, а ниже уже хуже работает. Хотя на 3 битах и неплохо. На 2 битах падение качества колоссальное.

Но вообще как обычно всегда надо тестить и сравнивать самостоятельно на нужных задачах.

Arslan's Insights

15 Oct, 06:02


#state_of_ai_report_2024

Слайд [19] снова про мощь OpenAI. За год по прежнему никто не обогнал модели от OpenAI.

Слайд [20] про то, что LLM плохи в математике и геометрии. Но есть решения. DeepMind нагенерили много синтетики на специальном языке для движка формальных доказательств и сделали AlphaGeometry, который чередует специальную языковую модель и движок для формальных диказательств. Такая конструкция решает 25 из 30 олимпиадных задач по геометрии.

Слайд [21] мне очень интересен. В нем информация про уменьшение размера моделей. Берется модель, из нее выкидывается половина слоев, модель дообучается на небольшом датасете и в итоге обладает качеством, не сильно хуже, чем качество исходной модели. И у nvidia, и у meta, и у MIT есть те или иные исследования, как урезать уже готовую модель, практически не теряя в качестве, но сильно выигрывая в производительности.

Слайд [22] логичное продолжение слайда 21. Андрей Карпатый и прочие уважаемые люди говорят, что текущий размер моделей слишком большой. Они говорят, что мы просто не умеем пока достаточно хорошо обучать модели. Когда научимся - размер будет меньше. Сейчас есть хороший способ тренировки маленьких моделей из больших - дистилляция. Фишка дистилляции, что модель обучается копировать предсказание болшой, а это дает сильно болше информации для обучения, чем просто попытка предсказать следующее слово. Например, так делал google для тренировки своих маленьких моделей семейства gemma. Еще слухи ходят, что Claude 3 haiku тоже сдистиллирована на самом деле, но Anthropic этого не подтверждал. Так же появилась либа на питоне для дистилляции: https://github.com/arcee-ai/DistillKit

Слайд [23] замечательный. Появляются LLM-ки, которые можно запускать на телефонах, которые по качеству весьма неплохи. Например, phi-3.5-mini имеет 3.8 млрд параметров, а работает не хуже, чем llama 3.1 8 млрд. Apple выпустил MobileCLIP модель iamge-text, которая тоже достаточно быстра для телефонов.

Слайд [24] продолжение по сути про производительность. Квантизация - когда вес модели занимает меньше бит, чем 16. Майкрософт, например, научился сжимать веса в 1 бит. В презентации утверждают, что квантизация все равно показывает очень хорошее качество. Тем не менее по моему опыту все же качество заметно теряется, если сжимать сильнее, чем в 4-8 бит.

Arslan's Insights

13 Oct, 08:19


#state_of_ai_report_2024

Ребята из AIR STREET CAPITAL (инвестирует в AI стартапы на ранней стадии) выпустили любопытный обзор происходящего с AI в 2024 году, давайте почитаем. Там 200 слайдов, поэтому буду писать постепенно. Если что ссылка: https://www.stateof.ai

Слайды [1-12] вступление, пропускаем.

Слайды [13-15] про мощь OpenAI, пропускаем, все и так знают. Единственное на что обратил внимание, что привели контраст про крутость o1 и слабость o1. В качестве крутости взяли https://www.youtube.com/watch?v=M9YOO7N5jF8 - тут PhD студент скормил свою научную статью (про черные дыры) и попросил написать код, воспроизводящий ее. o1 за несколько промптов справилась за час. Студент говорит, что потратил на код заметную часть года работы. В качестве слабости приводится неумение o1 играть в шахматы. Правда на слайде ребята добавляют, что не умеет играть "пока..."

Слайд [15] про то, что llama3 закрывает разницу между open и closed моелями. Приводят side-by-side сравнение людьми, что разница между llama3 и GPT-4o или Cloude 3.5 Sonnet небольшая.

Слайд [16] про то, что большинство open-source моделей на самом деле не совсем open.

Слайд [17] меня заинтересовал больше. Про то, что модели во время обучения обучаются в том числе на бенчмарках, на которых потом модели тестируют. Есть такой бенчмарк для оценки моделей GSM8k (Grade School Math 8000). Это 8000 задач по математике уровня начальной школы. Появился новый-свежий бенчмарк GSM1k (примерно то же самое, но задачи другие и их 1000). И вот большинство моделей показывают себя заметно хуже на нем. Еще модели проверили на свежем венгерском экзамене по математике, который модели не могли видеть во время обучения. Так же качество многих моделей сильно хуже на нем, чем на GSM8k. Самая большая разница в качестве у моделей Mixtral, Phi, Mistral, llama, code-llama. С высокой вероятностью модели, на которых качество на свежих бенчмарках сильно хуже, обучились на бенчмарках. Сравнение прикрепил картинками.

Продолжение следует...

Arslan's Insights

11 Oct, 08:04


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

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

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

Ну если только ноги робота не приколочены к полу)

Если же приколочены, то через motion capture (gif 2, костюм такой, который движения захватывает) переносим на робота танец человека. Проще примерно в миллион раз, чем если не приколочены.

Интересно, приколочены или нет?

Arslan's Insights

10 Oct, 20:01


#ошибки_джуна

Вот написал джун код, запустил, код не работает. Не хватает коду памяти на сервере. Джун пробует поменять пару констант и перезапустить. Код снова не работает. Джун снова пробует поменять код, но код не работает.

А код не быстрый. Это модификация молотилки данных и ждать падения приходится четыре часа. И вот джун уже две недели пробует сделать какие-то случайные действия, которые могут помочь коду заработать. Вроде джун все время занят и все время у него дела, а результата нет.

Затем джун садится и начинает разбираться "а в чем причина падения кода?". И спустя полдня находит, что алгоритм-то не подходит, просто арифметически не помещается. Нужно написать иначе.

Джун переписывает. Код работает. Джун становится мидлом.

Arslan's Insights

20 Sep, 10:36


Есть такая цитата от Луиса Гарстнера, который руководил IBM в начале нулевых - "Люди не делают того, что вы ожидаете. Они делают то, что вы проверяете."

В современных реалиях IT в общем и DeepTech в частности я цитату бы модифицировал:

"Люди не делают того, что вы ожидаете. Они делают то, что они обещают сделать."

Как бы ни странно это звучало, но часто люди расходятся после того, как поговорят про проблему и придумают как ее решать, но не обещая друг другу никакие дальнейшие конкретные действия. В итоге примерно в 5-7 случаях из 10 ничего не происходит или происходит ооооочень медленно.

Можно снизить 5-7 до 0, если помнить про такую простую особенность. И не забыть назначить дату, когда вы снова встретитесь и обсудите прогресс!

Arslan's Insights

17 Sep, 18:02


Yandex Cup 24

https://habr.com/ru/companies/yandex/news/843974/

Открыли регистрацию на чемпионат по программированию, залетайте!

В отличии от обычного ACM ICPC или codeforces, есть много треков. А если точно, то шесть: аналитика, фронтенд‑ и бэкенд‑разработка, мобильная разработка, машинное обучение и "Алгоритм", посвящённый спортивному программированию. Есть люди, которые считают, что спортивное программирование оторвано от реальности. Но решать задачи в формате соревнования очень фаново! И спасибо Yandex Cup за то, что можно в этом веселье поучаствовать не только в треке "Алгоритм"!

Arslan's Insights

13 Sep, 10:46


Само по себе очень смешно, что мы такие «а, ну всего лишь div2 решает парочку, фигня»!

А ведь всего лишь несколько лет назад предположение, что нейросетки будут решать задачи на codeforces, казалось бредом)

Но теперь нейросетка сравнялась с человеком, который тренируется в спортивном программировании около года…

Arslan's Insights

13 Sep, 10:24


На codeforces уже появился пост про анализ o1-mini: https://codeforces.com/blog/entry/133887

o1-mini по идее не отличается от o1-preview в плане умения решать задачи на codeforces, так как заточена на такие вещи.

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

Для тех, кто не знает как устроены соревнования на codeforces. Есть 4 дивизиона, для каждого есть диапазон рейтинга, по которому осуществляется доступ к соревнованиям в дивизионе. Классическое соревнование состоит из 6 задач с возрастающей сложностью. Рейтинг человеку прибавляется или убавляется в завимости от места в соревновании. Место зависит от количества и скорости решения задач.

В посте говорят, что первые две задачи Div2 по сложности o1 решает весьма неплохо. Но начиная с третьей задачи Div2 модель справляется уже не очень. При этом четвертая задача Div2 - это эквивалент первой задачи Div1. Все, кто занимается олимпиадным программированием более менее серьезно - это Div1 уровень. То есть модель не дотягивает до Div1.

С нуля докачка до выхода в Div1 занимает около двух-трех лет, если уделять среднее количество времени тренировкам. Что значит выйти в Div1 - это стабильно решать 4 задачи Div2 и иногда решать 5 задач Div2. То есть на 2-3 задачи больше, чем умеет модель.

Arslan's Insights

13 Sep, 06:57


Фуф, пока еще расслабляемся, ребята, не умеет o1-preview нормально олимпиадные задачки решать)

https://codeforces.com/contest/2009/submission/280945928 - решила написать на python, не уложилась в лимит.

https://codeforces.com/contest/2009/submission/280946338 - я попросил написать то же самое на C++, неправильный ответ.

Задача если что по уровню заметно ниже, чем должна уметь решать новая модель. Ну это если то, что говорят OpenAI про умения решать задачи на codeforces - правда. Тест в трейн положили видимо)

UPD. Без залогина по ссылкам не пускает теперь оказывается. В комментариях скриншот посылок.

UPD2. В комментариях человеку удалось с первого раза сгенерировать рабочее решение. Получается все-таки не до конца можно расслабляться)

Arslan's Insights

03 Sep, 10:31


Yasmina again

На прошлой неделе наконец начались продажи колонок с Ясминой в ОАЭ. Много воды утекло с начала проекта, я уже ушел из Алисы, но это точно проект, который я запомню навсегда.

Мы предоставили технологии Yango и теперь очень здорово видеть, как блоггер на арабском делает обзор колонки, а в комментариях люди пишут шутки про то, как заставить Ясмину болтать с Алексой 🤣

Обязательно посмотрите видео. В чем фишка в видео, кроме просто забавного сюжета, который поймет любой? В том, что Ясмина говорит на диалекте, из-за чего ее можно спутать с настоящим человеком. В арабском много разных диалектов, формализованных правил нигде нет, нам приходилось по крупицам понимать как сделать круто! Некоторых других голосовых помощников, например, спутать с человеком невозможно.

Поздравляю команду Ясмины с запуском!