ch
Feedback
Arslan's Insights

Arslan's Insights

前往频道在 Telegram

Я Арслан. В этом канале делюсь своими интересными наблюдениями в мире технологий и не только. Наблюдения не только технические, но и социальные. Стараюсь писать коротко. Мой контакт: @arslanurt

显示更多
1 850
订阅者
-124 小时
-47 天
-2230 天
帖子存档
#state_of_ai_report_2024 Слайд [36] про то, что если не просто по всему обучающему датасету идти, а прямо во время обучения п
+1
#state_of_ai_report_2024 Слайд [36] про то, что если не просто по всему обучающему датасету идти, а прямо во время обучения подбирать данные для следующей итерации на основе их полезности для обучения, то модель обучается быстрее. Полезность определяется другой моделью. Слайд [37-38], в котором авторы замечают, что китайские компании показывают крутые LLM не смотря на санкции. В нем же говорят, что вот мол есть 01.AI, которые фокусируются именно на китайском языке. А где про YandexGPT слайд тогда уж скажите мне?) Слайд [39] прикольный. Говорят, что вот в 2018 году куча народу пытались сделать модель, которая сможет по картинке описать, что на ней находится. А сейчас в 2024 году это просто сопутствующая задача, которую умеют решать мультимодальные модели даже небольшого размера, таков прогресс. Картинки приложил. Кажется, слайды про LLM более-менее закончились, следующие слайды вижу про картинки и видео, так что продолжение следует!

#state_of_ai_report_2024 Слайд [36] про то, что если не просто по всему обучающему датасету идти, а прямо во время обучения п
+1
#state_of_ai_report_2024 Слайд [36] про то, что если не просто по всему обучающему датасету идти, а прямо во время обучения подбирать данные для следующей итерации на основе их полезности для обучения, то модель обучается быстрее. Полезность определяется другой моделью. Слайд [37-38], в котором авторы замечают, что китайские компании показывают крутые LLM не смотря на санкции. В нем же говорят, что вот мол есть 01.AI, которые фокусируются именно на китайском языке. А где про YandexGPT слайд тогда уж скажите мне?) Слайд [39] прикольный. Говорят, что вот в 2018 году куча народу пытались сделать модель, которая сможет по картинке описать, что на ней находится. А сейчас в 2024 году это просто сопутствующая задача, которую умеют решать мультимодальные модел, даже небольшого размера, таков прогресс. Кажется, слайды про LLM более-менее закончились, следующие слайды вижу про картинки и видео, так что продолжение следует!

#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%.

Вау, как я пропустил, а вчера еще была новость! > 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 таки проиграло)

#state_of_ai_report_2024 Слайд [25] про yet another способ дообучать модели, не особо интересно. Слайд [26-27] про альтернаив
#state_of_ai_report_2024 Слайд [25] про yet another способ дообучать модели, не особо интересно. Слайд [26-27] про альтернаивные архитектуры, которые должны быть лучше, чем архитектура трансформер. Типа mamba-transformer. Сами авторы утверждают, что классная штука. Работает в пять раз быстрее и по качеству лучше. Но я не вижу повсеместного использования mamba вокруг, значит видимо не работает тема. Все обучают/дообучают llama-like модели. Слайд [28] подтверждение того, что трансформеры рулят. Картинку приложил. Слайды [29-30] про синтетические данные. Из них можно сделать вывод, что синтетические данные полезны, хотя и не просто их генерировать. И надо использовать и настоящие данные, и синтетические. Только синтетики пока недостаточно. Продолжение следует...

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

Про квантизацию добавка размышлений. Вот есть выбор, взять модель 7b или же взять модель 14b, но квантизованную два раза до 8
Про квантизацию добавка размышлений. Вот есть выбор, взять модель 7b или же взять модель 14b, но квантизованную два раза до 8 бит. Какая будет лучше? Есть статейка: https://arxiv.org/html/2402.16775v1 Показывают на примере qwen модели и mmlu бенчмарка, что лучше взять 14b квантизованную. 14b квантизованная по памяти занимает столько же, сколько и 7b обычная, но имеет лучше метрики при этом. Так же подтверждают, что квантизация до 4 бит норм, а ниже уже хуже работает. Хотя на 3 битах и неплохо. На 2 битах падение качества колоссальное. Но вообще как обычно всегда надо тестить и сравнивать самостоятельно на нужных задачах.

#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 бит.

#state_of_ai_report_2024 Продолжаем обзор AIR STREET CAPITAL на AI в 2024 году. Слайд [18] выделю прям отдельно и дополнитель
#state_of_ai_report_2024 Продолжаем обзор AIR STREET CAPITAL на AI в 2024 году. Слайд [18] выделю прям отдельно и дополнительно подробно прокомментирую, поэтому текста много, в несколько раз больше, чем на слайде. Слайд про ошибки в бенчмарках. Даже в самых распространенных бенчмарках сейчас не мало ошибок. Есть, например, бенчмарк MMLU (Measuring Massive Multitask language Understanding) - это топ-1 бенчмарк для больших языковых моделей де факто. Все на него смотрят, это главный бенчмарк. Напомню, что в нем просиходит. В этом бенчмарке модели задается вопрос и дается 4 варианта ответа. Модель должна выбрать ответ из предложенных. Вопросы широкие, по 57 разным тематикам. И вот в университете Эдинбурга решили проанализовать этот бенчмарк поглубже. Выяснилось, что в бенчмарке есть вопросы с неправильными ответами, непонятные вопросы, вопросы с фактически несколькими корректными ответами или вовсе без корректных ответов среди возможных вариантов. В большинстве тематик в этом бенчмарке ошибок мало, но есть ряд тематик с огромными проблемами. Например, 57% вопросов по вирусологии некорректны. MMLU очень широко распространен и полностью вычистить его из датасета само по себе проблема. Поэтому модели могут выучивать неправильные ответы прям из бенчмарка, на котором их еще и потом тестируют. Такой цикл ложно-позитивной обратной связи получается. Делаем улучшение, смотрим рост на MMLU, радуемся. А вот не всегда и не для всех тематик это стоит делать. Я когда-то писал про Congnition Labs. Они делают AI Sowftware Engineer и где-то в мае показывали лучшие результаты на бенчмарке SWE-bench. Супер-хайп стартап с оценкой более 2млрд$. Супер-хайп, потому что продукта нет никакого вообще пока у ребят, только демки. SWE-bench - это бенчмарк для проверки способности моделей решать задачи программиста. Каждая задача из бенчмарка состоит из репозитория с кодом и фичреквестов или реквестов на багфиксы к ним. Так же приложены тесты к коду, которые должны успешно проходить, если модель справилась с задачей. Забавно, что Cognition Labs уже не в топе на SWE-bench. Успели раньше всех просто хайпануть получается))) Так вот OpenAI заявляет, что SWE-bench сделан так, что содержит излишне сложные или вовсе невозможные задачи, поэтому показатели моделей на этом бенчмарке приводят к недооценке способностей моделей. OpenAI в итоге запартнерился с авторами SWE-bench, чтобы сделать SWE-bench Verified, который более показателен. Поэтому бенчмарк поделился на три категрии: lite, verified и full. lite - подмножество бенчмарка, который состоит из задач, которые дешево тестировать. verified - подмножество бенчмарка, который состоит из задач, проверенных людьми, что задачи норм для оценки способностей модели решать задачи программиста. full - весь бенчмарк, понятно. Сейчас лучший результат в lite категории, например, у codestory.ai, они умеют решать 43% задач из бенчмарка. Занятно, что стартап, кажется, состоит из всего двух человек, судя по их страничке на workatastartup, но может это не актуальная информация. В прошлом, кстати, ребята побывали ACM ICPC финалистами! В verified лучший результат у Gru, 45%. Ребята тоже делают AI программиста. На full лучший результат у Honeycomb, 22%. Вообще прогресс на SWE-bench впечатляет. Еще в апреле лучший показатель исчислялся единицами процентов. Либо прогресс огромный, либо бенчмарк легко накручивается. Я, как скептик по этой теме, пока буду считать, что скорее бенчмарк легко накрчивается. Продолжение следует...

#state_of_ai_report_2024 Ребята из AIR STREET CAPITAL (инвестирует в AI стартапы на ранней стадии) выпустили любопытный обзор
+1
#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. С высокой вероятностью модели, на которых качество на свежих бенчмарках сильно хуже, обучились на бенчмарках. Сравнение прикрепил картинками. Продолжение следует...

+1
Маск показал как роботы танцуют. Всего лишь танцуют, да? Я недавно чуть чуть, на капельку, приоткрыл ящик пандорры про антропоморфных роботов, пробежался глазами по паре статей. То, что здесь показано - не тривиальная задача. Во время танца внутри робота решается задача - а как не упасть. Система буквально воздействует на каждый электромотор внутри робота, чтобы робот удерживал равновесие. Даже для таких движений должен был случиться большой прогресс в том, как математика, AI и железо взаимодействуют друг с другом. Ну если только ноги робота не приколочены к полу) Если же приколочены, то через motion capture (gif 2, костюм такой, который движения захватывает) переносим на робота танец человека. Проще примерно в миллион раз, чем если не приколочены. Интересно, приколочены или нет?

#ошибки_джуна Вот написал джун код, запустил, код не работает. Не хватает коду памяти на сервере. Джун пробует поменять пару констант и перезапустить. Код снова не работает. Джун снова пробует поменять код, но код не работает. А код не быстрый. Это модификация молотилки данных и ждать падения приходится четыре часа. И вот джун уже две недели пробует сделать какие-то случайные действия, которые могут помочь коду заработать. Вроде джун все время занят и все время у него дела, а результата нет. Затем джун садится и начинает разбираться "а в чем причина падения кода?". И спустя полдня находит, что алгоритм-то не подходит, просто арифметически не помещается. Нужно написать иначе. Джун переписывает. Код работает. Джун становится мидлом.

Есть такая цитата от Луиса Гарстнера, который руководил IBM в начале нулевых - "Люди не делают того, что вы ожидаете. Они делают то, что вы проверяете." В современных реалиях IT в общем и DeepTech в частности я цитату бы модифицировал: "Люди не делают того, что вы ожидаете. Они делают то, что они обещают сделать." Как бы ни странно это звучало, но часто люди расходятся после того, как поговорят про проблему и придумают как ее решать, но не обещая друг другу никакие дальнейшие конкретные действия. В итоге примерно в 5-7 случаях из 10 ничего не происходит или происходит ооооочень медленно. Можно снизить 5-7 до 0, если помнить про такую простую особенность. И не забыть назначить дату, когда вы снова встретитесь и обсудите прогресс!

Yandex Cup 24 https://habr.com/ru/companies/yandex/news/843974/ Открыли регистрацию на чемпионат по программированию, залетайте! В отличии от обычного ACM ICPC или codeforces, есть много треков. А если точно, то шесть: аналитика, фронтенд‑ и бэкенд‑разработка, мобильная разработка, машинное обучение и "Алгоритм", посвящённый спортивному программированию. Есть люди, которые считают, что спортивное программирование оторвано от реальности. Но решать задачи в формате соревнования очень фаново! И спасибо Yandex Cup за то, что можно в этом веселье поучаствовать не только в треке "Алгоритм"!

Само по себе очень смешно, что мы такие «а, ну всего лишь div2 решает парочку, фигня»! А ведь всего лишь несколько лет назад предположение, что нейросетки будут решать задачи на codeforces, казалось бредом) Но теперь нейросетка сравнялась с человеком, который тренируется в спортивном программировании около года…

На 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 задачи больше, чем умеет модель.

Фуф, пока еще расслабляемся, ребята, не умеет o1-preview нормально олимпиадные задачки решать) https://codeforces.com/contest/2009/submission/280945928 - решила написать на python, не уложилась в лимит. https://codeforces.com/contest/2009/submission/280946338 - я попросил написать то же самое на C++, неправильный ответ. Задача если что по уровню заметно ниже, чем должна уметь решать новая модель. Ну это если то, что говорят OpenAI про умения решать задачи на codeforces - правда. Тест в трейн положили видимо) UPD. Без залогина по ссылкам не пускает теперь оказывается. В комментариях скриншот посылок. UPD2. В комментариях человеку удалось с первого раза сгенерировать рабочее решение. Получается все-таки не до конца можно расслабляться)

Yasmina again На прошлой неделе наконец начались продажи колонок с Ясминой в ОАЭ. Много воды утекло с начала проекта, я уже у
+2
Yasmina again На прошлой неделе наконец начались продажи колонок с Ясминой в ОАЭ. Много воды утекло с начала проекта, я уже ушел из Алисы, но это точно проект, который я запомню навсегда. Мы предоставили технологии Yango и теперь очень здорово видеть, как блоггер на арабском делает обзор колонки, а в комментариях люди пишут шутки про то, как заставить Ясмину болтать с Алексой 🤣 Обязательно посмотрите видео. В чем фишка в видео, кроме просто забавного сюжета, который поймет любой? В том, что Ясмина говорит на диалекте, из-за чего ее можно спутать с настоящим человеком. В арабском много разных диалектов, формализованных правил нигде нет, нам приходилось по крупицам понимать как сделать круто! Некоторых других голосовых помощников, например, спутать с человеком невозможно. Поздравляю команду Ясмины с запуском!

Решил глянуть когда же она наступит. Во-первых sqrt(p) * log(p) при p = 10^300 - это примерно 10^150 * 150 ~= 10^150 Пусть одна итерация длится 1ms, тогда это примерно 10^140 лет. Говорят, что есть развилка, которая зависит от того стабильны ли протоны. Стабильны - не распадаются сами по себе. Если протоны не стабильны и распадаются сами по себе, то предполагается, что период полураспада равен 10^34 лет. Тогда через 10^40 лет останутся только черные дыры во вселенной и больше ничего. Черные дыры испаряются через излучение Хокинга. Все черные дыры испарятся через 10^100. Получается в этом сценарии решение не найдется до тепловой смерти вселенной. Если же протоны не распадаются, то ситуация более непрогнозируемая (лол) и есть вероятность, что материя полностью не исчезнет. Но, возможно, через 10^10^10^56 будет новый большой взрыв. Получается, что если протоны стабильны, то есть шанс найти решение, особенно если начать сейчас!

Какие ключи хочет добыть Франция? Кликбейт заголовок, но тема интересная. В телеграмме есть секретные чаты, которые по идее сам телеграмм видеть не может. Обеспечивается это через end2end шифрование, когда только два клиента знают как расшифровывать сообщения, а сервер посередине не знает. В то, какой конкретно алгоритм в телеграмме используется я не вникал, но общие идеи можно подчерпнуть из классического протокола Диффи-Хеллмана. Протокол Диффи-Хеллмана построен на том, что две стороны могут сделать некоторые вычисления, обменявшись частью информации, в результате которых у обоих сторон будет секретное число, которые можно использовать для шифрования и дешефрования сообщений. Хорош протокол тем, что он прост для понимания, поэтому его удобно использовать в образовательных целях. Пусть есть два клиента: Алиса и Боб. Так же есть два общеизвестных числа g и p. К этим числам Алиса придумывает число a, а Боб придумывает число b. Затем Алиса вычисляет A = g^a % p (% - остаток от деления), а Боб вычисляет B = g^b % p. После чего Алиса шлет A Бобу, а Боб шлет B Алисе. После чего нетрудно заметить, что в результате оба обладают секретным числом K, где: K = B^a % p = A^b % p = g^(a*b) % p Причем тот, кто прослушивал, что передают Алиса и Боб знает только A и B, из которых число K вычислить около нереально. Чтобы из A узнать число a, например, нужно сделать дискретное логарифмирование. Не существует быстрого решения задачи дискретного логарифмирования. Олимпиадники по программированию почти все так или иначе изучают алгоритм baby-step-giant-step для дискретного логарифмирования, который работает за O(sqrt(p) * log(p)). Если взять p ~ 10^300, то понятно, что решение не найдется до тепловой смерти вселенной. Есть более быстрые алгоритмы, но они не кардинально лучше с точки зрения решения задачи. Задача не становится решаемой в разумные сроки. Конечно, алгоритм Диффи-Хеллмана подвержен атаке, когда сервер для Алисы притворяется Бобом и наоброт, а посередине перешифровывает сообщения. Эта атака называется man-in-the-middle. Проверить, что это не происходит, можно встретившись и сравнив число K. Если K одинаковое, то серверу в теории можно доверять. Что-то аналогичное, но более сложное используется и в телеграмме. Клиент в телеграмме opensource, что в теории дает возможность убедиться, что телеграмм не перешифровывает сообщения. Вывод - Франция не сможет узнать содержание секретных чатов даже теперь.