Юрий Кашницкий (Yorko, тут @yurycorn) – про машинное обучение, науку, галеры, матан, фэйлы и прочие интересности. Рекламы нет. https://www.linkedin.com/in/kashnitskiy
Про отказы. Очень важная тема об адекватной оценке собственной состоятельности почти во всех областях жизни! Все мы регулярно сталкиваемся с этим - в работе, иммиграции, бизнесе, личной жизни. Нас все время кто-то оценивает! И соответственно выносит вердикт - 👍 или 👎. Страх отрицательного ответа естественнен! Но эта оценка - единственное, что можно назвать честной обратной связью от реального мира. Поэтому должно быть много попыток получить вердикт!
1️⃣ В стартапах отказы - неотъемлемая часть всех процессов: аутрич любого рода или например подача в акселераторы. Я неоднократно говорил, что подача в сотню акселераторов - лучший способ проверить себя в роли фаундера. Нас такой подход привел в YC (пост). И конечно он сопряжен с ежедневным получением отказов, нередко с обидными формулировками.
Подход я рекомендую всем и всегда, и пока не знаю ни одного человека, который подал в 100+ акселераторов как мы. Если вы это сделали - напишите пожалуйста мне. А если нет - то почему? И у меня есть ответ: страшно получить 100+ отказов.
2️⃣ Тот же прием применили с Милой в искусстве (пост): подали наверное в 50-100 open calls. Результат - Мила съездила в 🇰🇷 Корею сделать соло выставку и выступить на конференции, в 🇯🇵 Японию в арт резиденцию + выставку, в 🇨🇳 Китай в арт резиденцию + выставку. (в ее инсте есть подробности). Были приглашения и в несколько других мест, в разных странах. А мы только весной начали подавать!
В этой индустрии людям еще страшнее, они тревожнее фаундеров: знаю, что подают в какую-нибудь одну арт резиденцию, конкурс или опенколл от галереи и ждут положительного решения. Хотя в воронках этих опенколов по 500+ таких же ждунов!
И ответы пообиднее, как-то Миле на письмо коротко ответили "not my taste".
А отказы в личной жизни? Тут у всех есть куча своих примеров!
3️⃣ В пору призадуматься о шансах, потому что именно понимание вероятностей очень помогает адекватно принимать отказы. Пройти в YC после Стэнфорда - 1-2%. А для нас, international founders - сильное меньше 1%. При этом часто вижу сообщения вроде "мы закинули заявку, думаю возьмут!"
А с визами-внж, наоборот, люди обычно недооценивают свои шансы, хотя иногда достаточно просто погуглить и поразмышлять о мотивах иммиграционных программ (пост). Будет попроще для сильно переживающих!
4️⃣ Многие люди совершают этот "контакт с реальностью" нечасто: например на собеседованиях раз в несколько лет. И подолгу пребывают в мире иллюзий о своей состоятельности. Но чем больше этих контактов, тем и отказы проще принимать, и шансы увеличиваются!
Поучаствовать в конкурсах, написать хороший пост, подать на вакансию, запустить минипроект и попродавать его (будет больно), написать много имейлов людям с целью получить содержательные ответы - это и многое другое можно делать на регулярной основе, чтобы держать руку на пульсе собственной состоятельности, вне пузыря иллюзий. В котором мы все конечно кажемся себе классными!
5️⃣ Лично мой подход: отказ или игнор - это состояние по умолчанию. То есть таков ожидаемый результат моего контакта с реальностью. Тогда нет никаких переживаний от отказов. А если кому-то становится интересно - тут и повод порадоваться!
Конверсии многих действий нашей жизни - менее 3%. Особенно тех, которые нам особенно важны! Назовем их "шагами к мечте". Так что самое главное - не переставать наливать свои попытки в воронку. И тогда результаты с шансами в 1% реализуются! 🤞
@kyrillic
#fake_text_detection #chatgpt #кунсткамера
This screams to turn into a meme. «Всего по 10 статей из журнала - это, конечно, необычно мало, но мы считаем это фичей, а не багом».
Менеджмент продолжает тыкать в меня статьями с 99% точности отличия человеческих текстов от chatGPT. Эта опубликованная в Cell достойна места в кунсткамере.
Аннотация в виде картинки - хорошая идея, правда, я так и не понял, почему они в бинарной классификации репортят accuracy в 10%. Заврались немного, бывает. Описание Dataset development вызывает снобскую улыбку - химики явно переизобрели bag of words.
20 фичей уровня «вхождение слова because» или скобки да xgboost сверху – и выводы, что у нас сота, проблема детекции chatGPT решена.
Ну и на закуску можно почитать их R-код фича инжиниринга из предыдущей статьи. Думаю, у меня из-за этого сосуды в левом глазу лопнули.
ps. И что это я в Cell не публикуюсь? Остается только у себя в телеге болтать.
#meme
К посту выше. Кстати, узнал от племянника, что мЭм говорят только старперы. МолодежЬ только мЕм говорит.
Как коллеги кинули меня на айфон
#coolstorybob
Кликбейт есть, теперь можно к сути. Первые месяцы в Нидерландах - пошел, аки послушный муж, жене новый айфон покупать (ну ладно, она мне старый хотела отдать, а ей - новый). Работал я в телеком-операторе KPN, вот в их магазин и пошел, попросил телефон в кредит. Без лишнего саспенса: мне отказали. Прихожу на работу, спрашиваю «так епт», ну культурнее только - узнаю, что модель кредитного скоринга для магазинов KPN прям мои коллеги пилят (собственно, это и был самый успешный проект, дававший нам карт-бланш на попинывание на рисёч).
Спрашиваю, че там как по eli5-shap, почему мне отказали-то? До shap не дошло, все просто: если вид на жительство годен менее одного года, кредит на айфон тебе не дадут. Ходил слух, что это из-за фрода, когда набирали кучу телефонов в кредит и исчезали в соседней стране.
От почти-дубликатов к импакту на всю индустрию. Часть 2
#career #projects
Я уже тогда заподозрил, что с этим EM будет сложно, и не прогадал. Это бодрый австралиец, привыкший командовать тихими забитыми прогерами. Так что убеждать его в чем-либо было довольно сложно, даже просто по части английского. Но вот он наконец взялся за нас. Тут, надо отдать должное, передача проекта в руки инженеров была организована грамотно (discovery track с передачей знаний, затем delivery track). Месяца через 2, когда я уже передал свой прототип и на его основе построили решение с куберами-кафками и т.д., мы уже готовы запускаться, прилетает EM и с выпученными глазами говорит, что решение надо делать на полных текстах статей, а просто названий и аннотаций недостаточно (полные тексты примерно на порядок длиннее аннотаций). В этом он тоже прав, вот только понял он это очень поздно, а я его еще за полгода до этого спрашивал типа как, достаточно просто на аннотациях или фул текст нужен. В-общем, надо пстра масштабировать решение ~в 10 раз. Вот тут были жаркие дискуссии, бросать дело на полпути я не хотел, так что можно сказать, что EM победил, и я поставил прочие проекты на паузу, чтоб добить этот.
Свой день рождения я провел размечая данные, и это оказалось очень полезно 🤓 Смотрел на похожие тексты статей, надо было настроить порог похожести, при котором срабатывало бы уведомление. Попутно обнаружилась куча веселых эффектов:
- тут чел заменил в статье пару терминов и опубликовал как новую статью
- вот пара почти одинаковых статей, опубликованных в разных журналах, вообще они должны быть отозваны по-хорошему
- видны еще пары вроде бы разных стате, но с почти одинаковыми аннотациями
- так же точно можно ловить salami slicing – когда берется длинная статья, нарезается на куски и эти куси публикуются как отдельные статьи.
И наконец, paper mills, про которые я писал в посте про Research Integrity. Оказывается, многие из них тоже можно ловить простым LSH. Есть шаблонные статьи, например, в химии или молекулярной биологии – вставил пару названий химических соединений, прогнал скрипт – на выходе новая статья. Недурно и продать такую статью остро нуждающемуся хирш-гроккеру.
И таким образом, начав с проекта, оптимизирующего затраты, я нашел еще россыпь других применений той же идеи и стал активно заниматься Research Integrity, то есть научным антифродом.
Попутно я стал ходить на митинги организации, собирающей акул представителей всех основных паблишеров. Тут свои политические приколы: данными делиться, конечно же, никто не хочет, но как-то вместе бороться с paper mills и simultaneous submission хочется, отсюда и 3rd party. И так постепенно мы с инженерами передали нашу технологию (хех, LSH, не больно-то know how) так, что теперь проверка simultaneous submissions раскатана на все основные журналы.
Закончим пост не на корпоративных играх, а на математике. Пытаясь ответить менеджерам на разумные вопросы “а как много дубликатов мы ожидаем во всей науке в целом?” и “имеет ли экономический смысл масштабировать решение?” я внезапно пришел к формулировке задачи в терминах теории графов. Есть статьи (вершины графа) и отношение “быть почти-дубликатом” (ребра). Поскольку издатели не обмениваются данными, граф – disjoint, т.е. ты можешь померять сходство статей (соединить две вершины ребром) в рамках только своей базы данных со статьями (то есть только внутри своего подграфа). В такой интерпретации уникальным, оригинальным статьям соответствуют изолированные вершины. Вопрос: по мере того как добавляются новые вершины (публикуются новые статьи) как будет меняться процент связных вершин (то есть процент статей, имеющих почти-дубликат)? Тут повешу cliff hanger: строгая постановка задачи и математические выкладки – в следующий раз #todo. Да и это надо не в телеге делать, пожалею себя и вас, обойдемся без ASCII-формул.
В Твиттере завирусилась статья чувака, который получает в Москве зарплату 400к рублей, а тратит на семью из четырех человек 133к – при этом одежду покупает исключительно в секонд-хендах, вино для романтического вечера берет за 200 рублей, а сыр приобретает в Ашане по 3 кг со скидкой 40% в день истечения срока годности и замораживает в морозилке «про запас».
Естественно, в комментах происходит массовый подрыв пуканов – автора обзывают крохобором и вообще всячески издеваются. Так что я хочу начать с обратной позиции: в целом, автор своей жизнью, судя по всему, вполне доволен. Усердно работает, не бухает в чаду кутежа, заботится о своей семье и обеспечивает ей вполне неплохой уровень жизни повыше среднероссийского. Можно сказать – пришел к успеху!
Но, с другой стороны, его норма сбережения на уровне 67% от доходов выглядит несколько экстремально. Ведь если снизить норму сбережения на 10 процентных пунктов до 57%, то объем откладываемой ежемесячно суммы уменьшится в относительном выражении всего на 15%; тогда как потребление можно будет увеличить сразу почти на треть (с 133к до 172к руб.) – это весьма ощутимый рост.
Мне кажется, приближение нормы сбережения к крайним значениям как сверху, так и снизу, должно сразу вызывать подозрение на неадекватность паттернов финансового поведения. Если вы сберегаете больше 60% или меньше 10% – то вам, возможно, стоит задуматься о том, почему вы так сильно ограничиваете свои траты / или совершенно неспособны откладывать.
А вообще, вся эта гипероптимизация расходов и выжимание выгоды из скидок до последней капелюхи – это тупиковая ветвь финансового мышления. Лучше было бы чуть перераспределить усилия с решения тактической задачи «как не потратить ни одной лишней копейки» в сторону более стратегической задачи «как начать зарабатывать еще больше». Ведь экономия расходов в пределе ограничена нулевой планкой потребления, а рост доходов – потенциально верхней планочки не имеет.
P.S. Не обратил сразу внимание, что в списке расходов значится ипотека на 37к рублей. Как мы обсуждали вот здесь, платежи по ипотеке – это, по факту, скрытое сбережение + финансовые расходы на проценты; так что учитывать их в расходах при расчете нормы сбережения не совсем корректно. С другой стороны, по-хорошему в расходах еще нужно учитывать «вмененную ренту» в размере скрытых затрат на аренду собственной квартиры – рискну предположить, что для семьи на 4 человека в Москве они окажутся не меньше этих же 37к в месяц. Так что, плюс на минус и выходит, что реальная норма сбережения посчитана примерно корректно.
С чем я не смирюсь в Голландии
#life #netherlands
TL;DR: с крохоборством
Сидел в кафе со знакомой голландкой, мы в целом классно общаемся семьями (ага, мелкий - катализатор нетворка), вот и тут льется беседа, пока не дошло до зп. То есть она прям взяла и спросила меня, сколько зарабатываю. Вилять не хотелось, назвал шестизначную сумму, и тут она прям сильно напряглась. Пошли тезисы уровня «да тут в Нидерландах столько не принято зарабатывать», «мы тут все в среднем 60-65к в год имеем», «тебе всего 32» и «за большими деньгами - это в ЮС». Я не перебивал, но в голове тюкало, что сейчас идет разговор с человеком, с которым у меня полный misalignment ценностей.
Сюда же можно еще немало мини-историй и наблюдений добавить:
- Мой бывший босс в столовой KPN: “7 евро за второе блюдо - не, это слишком дорого!»
- Тоня наблюдала картину маслом: коллеги обедают в бизнес-центре: типичный двухметровый голландец в рубашке, брюках и лакированных коричневых ботинках 48 размера, с ним куча мелких - иранцы, турки, в-общем, высококвалифицированные мигранты. Размовляет один голландец: «надо сидеть дома! Траты надо путем упорной оптимизации свести к минимуму!». И все в таком духе.
- ужином голландцы просто так не угостят, надо заранее договариваться, ведь все уже рассчитано на стандартный ужин одной семьи
- коллега-полька рассказывала, как тоже с голландцем у нее не сложилось. Позвали на день рождения - ну она не ела заранее, красиво оделась, платье, все дела. Заходит на вечеринку - там длинный узкий коридор, все стоят с пивом (конечно же, каждый себе своё принес), по кругу гуляет только тарелка с огурцами и закусками 😕
- ах да, отапливать дом - слишком дорого. Пусть держится 16-17 градусов, всегда можно второй свитер натянуть (мне, кстати, так вполне норм, но вот многим тяжко после центрального отопления и +25).
Стоит ли объяснять, насколько это не сходится ни с нашим достигаторством, ни с широтой души. Менять лосось на свекольный бургер я пока не готов, да и вообще в целом глюкозу мозга буду жечь не для того, чтоб провайдера подешевле найти или скидки на хлеб отслеживать, а чтоб тот самый перцентиль прокачивать и зарабатывать больше.
Базовые траты в Нидерландах
#life #career #netherlands
Посчитаем грошики-шекелёчки, поноем, это все любят. Есть, конечно, Numbeo, но лишний датапойнт про цену жизни в Нидерландах, возможно, вам не помешает. Как рассказать о своей зарплате, не называю цифру? Легко. Я вам примерно распишу расходы на жизнь в Нидерландах и скажу, что у меня все впритык, от зп к зп (ага, с финансовой грамотностью пока так себе выходит). По крайне мере, когда я в 2018 услышал, сколько мне предлагают в Нидерландах, мне казалось, буду в золоте купаться. На деле все оказалось не так радужно. Так что возможно, пост поможет тем, кто приценивается к жизни в NL.
Допустим, в семье работает один человек и получает 5к евро/месяц чистыми (что примерно соответствует гроссу в 75к с рулингом или 100к - без него. Рулинг - это налоговая поблажка на первые 5 лет, когда 30% дохода не облагается налогом). Более точно можно прикинуть на thetax.nl. Не совсем моя ситуация, но пойдет для бейзлайна. Оговорок много (что если оба работают, есть дети или нет, свое жилье или аренда) – это можно в коменты перенести.
Обязательные расходы (т.е. исключая еду/кафе/etc) у меня ~2500. Каждый грош считать не хочется, но основное, из того что больше 100 евро/месяц:
- 1300 – ипотека
- 400 – медстраховка на двоих
- 200 – транспорт на двоих
- 140 – коммунальные налоги
- 120 – электричество/газ
- ~350 – остальное (связь, инет, прочие страховки, и т.д.)
Немного прокомментировать все же надо, хотя главный вывод – в конце поста.
- Ипотека за 1300 это прям дико удачно, успел ухватить ставку 1.8%, сейчас она ближе к 4.5% и соотв-но, ежемесячный платеж легко может быть и 2к и 3к, ажиотаж с жильем бешеный, особенно в Амстере
- медстраховка дорогая, и тут сэкономить особо не выйдет, помимо ~150/чел в месяц еще 360/год – собственный риск, то есть 360 платишь сам, а что свыше – уже покрывается. Плюс зубы отдельно, легко выходит 200 евро в месяц на человека. К слову, голландские врачи настолько дорогие, что на оплату их труда уходит ~30% подоходных налогов, помимо отчислений на медстраховку
- транспорт дорогой, к примеру, поезда катаются на чистом электричестве от ветрогенераторов. Где-то видел статью, что в NL самый дорогой транспорт с нормировкой на уровень доходов – похоже на правду
- коммуналка – это налог собственника жилья (неактуально, если снимаете), а также на мусор, канализацию и проч
- электричество/газ – ну тут, понятное дело, отказ от fcukn russian gas сильно все цены повысил
И вот, допустим, остается еще 2500/мес на еду, кафе, шмотки, путешествия и прочую жизнь. Хм… 80 евро в день? Вы уже видите, что так недолго превратиться в бомжа, живущего в красивой обстановке. Ну и начать жить по-голландски, то есть экономить – ходить в Lidl и jumbo, а не Albert Heijn, нагибаться рачком за более дешевыми товарами на нижних полках, ходить в кафе раз в месяц, не есть рыбу/мясо. В-общем, это все не про меня. К слову, наиболее характерное голландское слово, передающее менталитет – goedkoop (дешевый) - только дословно это не “дешевый” или ”cheap” (негативный посыл), а “выгодно купленный” (явно позитивный посыл). Про это еще разверну мысль #todo
В итоге если в семье работает один, то рассматривать что-то меньшее 75к/год (с учетом рулинга) я бы не советовал. Когда рулинга уже нет – это вообще другая история, требующая кардинально новых решений, о которых, надеюсь, получится вскоре рассказать.
А если хочется путешествовать и вообще-то думать про старость и откладывать – то и подавно надо сразу смотреть на 100к+. Либо, конечно, вдвоем работать.
Там новая фича в телеге… ну и хер с ней. Буду дальше фоном вынашивать лонгриды про матан в реальных проектах, косяки и крутые идеи из мира DL и не только. Может, еще про искусство что будет, но не сторис. Сторис тут не будет.
Читать полностью…О математике в искусстве Эшера
#random #math #art
В Нидерландах этот год – год Эшера. Если ни разу не слышали это имя, то представьте “невозможную фигуру” - вот это Мауриц Эшер, нидерландский художник-график, создатель миров, головоломок и визуализатор математических идей. Именно последнее – повод написать про творчество Эшера тут.
Парень ненавидел математику в школе, не только ее, а вообще учебу. Кое-как закончил среднюю школу, из технического училища Делфта был выгнан, потом закончил-таки высшую школу в Харлеме. Но все равно учиться терпеть не мог. И что же потом?
После некоторых экспериментов с оптикой и иллюзиями Эшер приходит к самой что ни на есть математике. Он изображает фракталы еще до того, как сам термин был предложен Мандельбротом. Эшер приобрел всемирную известность после выставки в музее современного искусства Stedelijk в Амстердаме, которая проходила параллельно со Всемирным математическим конгрессом в 1954, а Мандельброт ввел термин “фрактал” в 1975.
Увлечения мавританскими узорами привели Эшера к проблеме замощения плоскости (tessellation), a.k.a. к задаче о паркете. Это когда повторяешь одну фигуру “бесконечно” так, что она без зазоров замощает плоскость. Очевидно, замостить плоскость можно тривиально правильными треугольниками, четырёхугольниками и шестиугольниками, а вот с неправильными пятиугольниками - уже интересная история (только в 2017 году доказали, что есть ровно 15 видов пятиугольных “паркетов”, там одна американская домохозяйка с пхд штук 7 нашла, Савватеев любит про это рассказывать). У Эшера замощения просто дикие – ящерицы, рыбы, клоуны, перетекающие друг в друга. В самой известной его работе Metamorphosis II одни виды замощений перетекают в другие.
Человек, который ненавидел математику в школе, берет, ботает статью про гиперболические замещения плоскости и создает целую серию этюдов, из них моя любимая гравюра – Ангелы и Демоны.
Изучая замощения, симметрию и регулярность (и якобы прочитав пару трудов по теории групп; тут мнения разошлись. В тех источниках, что я читал, противоречивая информация о том, вникал ли Эшер собственно в формулы и теоремы). Эшер общается с кристаллографами и между делом выступает с лекцией о симметрии на международной кристаллографической конференции в Кембридже.
“Хотя я абсолютно несведущ в точных науках, мне иногда кажется, что я ближе к математикам, чем к моим коллегам-художникам”
Неудивительно, что Эшер был любимцем ученых-математиков, те делились с ним идеями, присылали работы. “Как жаль, что я ничего, абсолютно ничего не понимаю в этом” – признавался художник.
Если еще и учесть, что большинство произведений Эшера – литографии, то его головоломки дополнительно усложняются. Не вдаваясь в суть процесса литографии (вики): при рисовании надо учитывать инверсию, после оттиска с камня на бумагу рисунок отзеркалится по вертикали.
Если вас дорога приведет в Гаагу, посмотрите работы Эшера (причем не только в его именном музее, но и в Kunstmuseum. Кто в Нидерландах, спешите - выставка до 10 сент.). Если вы любите математику, невозможно не полюбить и Эшера.
Собес с HuggingFace в 2019 и бодрое тестовое
#career #interview #fail #ml #petproject
На фоне новости о том, что HuggingFace привлек еще $235kk и уже от техгигантов (Google, Amazon, Nvidia, Intel, IBM Salesforce, Qualcomm и AMD), решил поведать 😃 как я с ними собеседовался в конце 2019. Я с удивлением обнаружил, что Томас Вульф живет в Утрехте - взял да и написал ему в личку. Встретились в кафе, потрещали (Томас уже тогда работал из дома/кафе, до того как это стало мейнстримом, тогда называл это “дикой жизнью”). Томас – очень простой и приветливый чел, из ряда тех, с кем общаешься-общаешься, а потом возвращаешься к мысли “но он же очень талантливый и работоспособный парень, вот скромняга!”. Все в духе истории, как HF вообще зарождался (”ребята, мы хотим по пиву, а потом есть идеи покодить вечерком – BERTа на PyTorch переложить, кто с нами?” (с) Thomas Wolf, EMNLP 2018).
В целом деньгами HF на тот момент не баловал, да и я тогда по визовым ограничениям и не мог бы работать на стартап. К тому же я прям совсем не рассматривал вариант работы из дома (кек). Наконец, тогла в 2019 совершенно не было понятно, как ребята будут монетизироваться. Но решил пособеседоваться, челлендж ведь. После бодрого знакомства с CEO Клементом первый шаг – тестовое задание.
Томас придумал веселое тестовое, которое впрочем точно устарело после очередной мини-революции в мультимодалке” (CLIP и в целом text2image). Так что пошарю в открытый доступ.
Мне задача понравилась, и я решил поботать просто по фану. Для контекста: дело близилось к Рождеству, никто уже на работе не впахивал, у меня две недели как родилась дочь (и, на удивление, как все оправились от первого шока с бессоницей, дальше высвободилось немало времени, т.к. существо в осномном спит). Ковид уже пошел по миру, но мы не догадывались. Я совсем недавно закруглился с млкурсом. В-общем, идеальная ситуация, чтоб душевно покодить пет-проджект, каким я рассматривал тестовое от HF.
Итак, задача – визуализировать текст ганами. Входной текст кодируется бертом, на выходе – BigGAN, вот сутью задания было обучить небольшую сетку отображать эмбеддинги берта в эмбеддинги BigGAN. Как это работает, можно глянуть в репе.
Сразу скажу, столько вкладываться в take-home точно не стоит, по оформлению оно лишка вылизанное (docker-compose, Streamlit, подробный ридми, гифки, все дела…). В инструкции Томаса советовалось “потратить на задание 2-3 часа”, что, конечно, немного лицемерно, но оптимум где-то посередине – часов 8. То что происходит в репе – почти безнадежно устарело с появлением CLIP. Но на оформление, структуру репы и презентацию тестового можно поглядеть.
К слову, я и не прошел. Ревьюеры похвалили как раз оформление, но придрались к мелочам типа того, что я не выставил 0 в attention mask для паддинга и что-то им мой пулинг-слой не зашел, нет разбивки на батчи и т.д.
Хоть я б в HF и не пошел, все равно было обидно. Так что с горя победили в гугловском NLP-соревновании на кекле и удалось закрыть мастера, а через месяц и работу сменить.
#random #ml
Что у меня тут для вас, дорогие карьеристы… чел опубликовал препринт “Cross-validation” в 2018 (!) году с описанием таких SotA-техник как k-fold, leave-one-out и (sic!) Jackknife. Всего 7 страниц, как положено, одна под ссылки, еще одну съедают 2 картинки. Краткость – сестра таланта, так что ни time series, ни прочие каверзные темы не поднимаются, даже слово holdout не грепается. Для пущей убедительности в 2019 последовала публикация в журнале “Journal of Bioinformatics and Computational Biology”. Всего на данный момент у нее 748 цитирований. С подобной же базой по теореме Байеса этот же автор Daniel Berrar (Google Scholar) ого! даже не индус отхватил еще более 300 цитирований. Как грится, завидуем молча. Всем смекалки и длиннющего Хирша!
Generative AI & Research Integrity. Часть 3. Детекторы
#science #ml #chatgpt
Наконец третья часть расширенной версии моего доклада на DataFest 2023 (первая часть была про Paper Mills и некоторые истории из области Research Integrity, связанные с Generative AI; вторая часть – про соревнование при COLING 2022, которое я организовывал, и подвохи про 99% в детекции ML-генерированного текста).
С детекторами текста, написанного chatGPT, все плохо. Лучшая тому иллюстрация – то как OpenAI тихо прикрыл демку с их классификатором. Конечно, бонус им в карму за то, что често описали, что задача сложная и детекторы плохо обобщаются на новые LM и домены (OpenAI репортит 26% полноты, и 58.5% верных ответов в задаче бинарной классификации). Но все же эта честность, видимо, стала вредить репутации. Да и кеки про сонеты Шекспира с метками “likely AI-generated” вряд ли вдохновляли. Но все же можно было не тихо закрывать сервис, а описать в блоге/статье, что задача сложная, надежных решений пока нет. В итоге приходится предполагать, что самим OpenAI такой детектор не нужен.
В посте про undetectable.ai я также рассказывал про борьбу брони и пушки. Вроде как сервис помогает обмануть детекторы, но его тоже можно обмануть, если попросить chatGPT написать текст, похожий на человеческий. В итоге undetectable.ai обманывает еще и вас (не запутались?). Классификатор OpenAI прикрылся, а они все еще рисуют зеленые галочки с подписью “OpenAI”, хорошая работа фронтендеров. Ну а что, хайп, куй пока горячо.
Да в целом и большинство детекторов, обещающих 99% качества - туда же, куют пока горячо. ZeroGPT, GPTZero и иже с ними, как правило, не раскрывают know-how, пишут только что-то в стиле “we use sophisticated algorithms to analyze statistical properties of the text”. 99%, есть апи, давай сюда кредитку.
Из подходов к построению детекторов самый очевидный – натренировать классификатор на большой выборке человеческих текстов и машинно-генерированных. Про проблемы такого подхода я писал во 2-ой части, в целом детекторы очень плохо обобщаются. Если в трейне были тексты, написанные GPT3, то обобщение на тексты, сгенерированные BLOOM, будет очень плохим. И наоборот. Если про научные статьи, это показал победитель моего соревнования Domenic Rosati. Также есть свежая статья “Distinguishing Fact from Fiction: A Benchmark Dataset for Identifying Machine-Generated Scientific Papers in the LLM Era” с неплохим открытый бенчмарком IDMGSP, результаты там весьма печальные, много ablation studies, и никакой метод в итоге не обобщается надежно на все датасеты. И в целом кажется, что практика это подтверждает, судя по участившимся скандалам, что некий детектор обвинил студента в том, что работа написана chatGPT.
Есть папирус с обзором существующих методов детекции (спасибо Лаиде за ссылку). Помимо бинарных классификаторов на базе нейронок, есть еще классические методы стилометрии (stylometric attribution), по которым определяют авторство текста. Впрочем, там как правило тоже ML, с признаками от общих энграм и частей речи до более специфичных (Linguistic Inquiry & Word Count), Readability score и т.д.). Впрочем, на бенчмарке TuringBench олдскульные стилометрические методы проигрывают бертам.
Продолжение ⬇️
И снова про резюме и собесы
#career #tips #links_with_intro
А как собеседоваться в 2023?
Годный длиннопост, все по делу. Я по его наводке вышел на сервис ResumeWorded, не думал, что буду это делать, но в итоге перелопатил резюме, вписал в одну страницу, где-то цифр подкинул. Рекомендую. Там бесплатной версии вполне хватит для начала, в ней можно загрузить CV раз 5-6, так что можно итеративно поулучшать.
Самый кек с предпоследней версией моего CV – пафосный шрифт, который не распарсился сервисом. Поскольку HR используют ATS (applicant tracking systems), которые могут поломаться на фэнси шрифте или из-за того, что в резюме заголовок не Experience, а My Jobs – оригинальничать не стоит. Только Times New Roman, только скучный стандартный шаблон. Вы ж понимаете, что если ATS по какой-то технической причине не проскорит вашу сивиху, она тут же окажется на помойке.
Как лучше продать свой опыт
#career #promo
За последнее время я зареферил немало людей в Нидерланды, раздал кучу карьерных советов и поменторил нескольких человек. Частый сценарий: сильные (по хард-скиллам ребята) сейчас НЕ там, где хочется быть (как географически, так и в карьерном плане), а перебраться на крутые роли в Европу пока не получается. Если рискнуть обобщить, самые частые проблемы следующие:
1. экономическая ситуация, лэйоффы в бигтехе
2. недостаточный уровень английского
3. ошибки на собесах в части софт-скиллов
4. неумение себя продать
С п. 1 и 2 я вам не помогу. Можно надеяться на улучшение экономической ситуации и появление новых вакансий, постепенно рынок будет “размораживаться”.
А вот с п. 3 и 4. можно поработать, что я вам и предлагаю. Для начала можете посмотреть мой пост про поведенческие интервью (тема английского там тоже затрагивается). Далее нужна практика и чей-то фидбек.
Я предлагаю 3-4 индивидуальных занятия, на которых:
- расскажу про то, как готовиться к поведенческим интервью и пересмотреть свой опыт, чтоб лучше себя продать
- поделюсь примерами из своей жизни, хорошими и плохими ответами на вопросы
- расставлю red flags, что НЕ стоит делать на собесе. “My former manager was a jerk” – слегка радикальный пример, но я такую фразу в реальности слышал от кандидата
- расскажу про негласные правила игры. Как все знают, что на LinkedIn врут, так и тут есть особенности, про которые можно рассказать голосом, но не хочется писать текстом
Помимо занятий будут домашние задания, чтоб подготовиться к типичным поведенческим вопросам.
Минусов у всего описанного два:
- это платно и недешево
- гарантий, что сразу позовут на стафф в гугл, дать не могу
Заинтересовавшихся DS-ов, аналитиков, ML инженеров приглашаю в личку – @yurycorn. Напишите про свой опыт (приложите резюме) и как хотите поменять карьеру.
Про отказы
Добавлю еще три сюжета: поиск работы, PhD и кэггл.
Про numbers game при поиске работы @boris_again недавно неплохо рассказал.
Про PhD есть предубеждение, что это для умных. Но это про упорство и те самые отказы. Отказы рецензентов, отказы по грантам, неработающие идеи… А уж предзащита диссертации (именно пред, а не сама защита) - это вообще худший опыт в моей жизни. Так что пхд - это больше поо то, что ты умеешь рисечить и продираться через сложности, унижения и отказы.
Кэггл в целом тоже про преодоление 100 неработающих идеи ради поиска пары работающих. Из чуть более интересного: от интервьюера из одного топового HFT-фонда слышал такое сравнение олимпиадников-программистов и кэгглеров: олимпиадники привыкли сразу побеждать, а кэгглеры научились N раз падать и N раз вставать, в сфере HFT это нужно гораздо больше.
Пс. @kyrillic - один из каналов, которые я реально читаю. Без кеков и одноразового контента- про стартапы, продукт, карьеру и жизнь в разных частях света.
Раз в пару месяцев мне в Workday прилетает какой-нибудь тренинг, который надо обязательно пройти. Data Privacy refreshment или там что-то про Inclusion & diversity, sexual harassment и т.д. (в KPN, более голландской компании, порой такое прилетало на голландском, причем в виде скриншотов, текст не скопируешь). Ну что, challenge accepted, ответ из 3-х всем известных букв – Джи-Пи-Ти. Мы, нищеброды, принципалы в Нидерландах отказались от подписки на Gpt-4, так что по старинке: либо быстро печатаешь (нет), либо делаешь скриншот, закидываешь в онлайн OCR-сервис (исчерпал квоту в одном, перешел к другому) и копируешь текст в chatGPT. После 10 минут таких физиопроцедур получил 10/10 с базовой версией модели 3.5. Кажется, никого это уже и не удивляет. Сомнений, что GPT-4 осилит такой тест с картинками на входе, у меня тоже нет. И это все без RAG, чисто на вшитых знаниях о мире.
Читать полностью…Пстра освежить литкод
#career #interviews
Пока я прокачиваю свой перцентиль на литкоде с 2% до 3%, поделюсь своим подходом к тому, как быстро перед собесом освежить литкод. Задача – не с нуля изучить, а именно быстро вернуться в форму. В обоих случаях посоветую Neetcode, у него и ютуб-канал хорош, и вот этот роудмэп https://neetcode.io/roadmap. Но конкретней, что я делаю, чтоб снова вкурить эти указатели в связном списке и обходы деревьев
- Берем список основных тем, указанный Neetcode roadmap подойдет, вот короткое видео от того же автора про основные темы, которые лучше повторить;
- Открываем любимый жупитер и по каждой теме конспектируем основные алгоритмы и приводим код двух-трех задач уровня Easy. Самое главное: подчеркиваем основную идею в каждой задаче, трюк, зная который, уже сможешь все закодить. Например, для темы Trees накидываем inorder traversal (идея: рекурсивно посещаем левое поддерево, потом вершину, потом правое поддерево), как проверить, что деревья одинаковы (идея: рекурсивно проверяем, что значения в узлах равны и оба поддерева тоже равны), как найти максимальную глубину дерева (идея: рекрсивно смотрим на максимальную глубину левого и правого поддерева, берем из них наибольшую) и т.д. В этом, кстати, и фишка квиззов в том же Neetcode roadmap – там вопросы составлены так, чтоб для каждой задачи вспомнить основной а-ха момент;
- То же самое со структурами данных – записываем короткий конспект по каждой из них, а также указываем по 2-3 типичных задачи, где эта структура данных может пригождаться (например, для minHeap – top K minimal и алгоритм Дейкстры);
- Покупаем на время подписку Leetcode Premium (не реклама) и ботаем задачи под конкретную компанию из списка самых частых.
Я прохожусь именно по простым задачам, поэтому уточнение про Easy важно. Не вижу смысла за неделю перед собесом зависать на задачах даже уровня медиум, особенно если это условное динамическое программирование или заковыристые алгоритмы на графах (тут стоит отметить, что я готовлюсь на изи-медиум уровень для DS, конечно, если метите на SDE в гугл и по форуму литкода знаете, что будут харды, надо на это сделать поправку).
Делиться своим жупитером не буду, суть именно в том, чтоб самому через это пройти и набросать черновик, который удобен именно тебе. Возможно, захочется туда вставить скриншоты объяснения ключевых идей с Neetcode или даже собственными зарисовками.
Если у вас есть еще более крутые трюки, как быстро вкатиться в контекст алгоритмических задач – пишите в коменты.
Теория графов в проекте про дубликаты статей
#math #projects
Вдогонку к предыдущему посту: математическая формулировка задачи + эксперименты в подтверждение.
https://yorko.github.io/2023/scaling-laws-near-dups/
Формулы все еще не идеальны, но хотя бы не ASCII, не придется полоскать глаза йодом.
Пересказ без математики:
- почти-дубликаты обнаруживают кучу всякого интересного научного фрода
- замерял, что в Эльсивире примерно у 4% статей есть почти-дубликат (иначе – 96% статей оригинальны)
- перед тем как раскатывать решение на всех основных издателей, надо было понять, а что будет с процентом оригинальных статей в датасете из всех статей всех основных издателей
- предложил модель случайного графа для отношения "быть почти-дубликатом"
- модель предсказывает, что с увеличением выборки процент оригинальных статей падает экспоненциально
- в экспериментах модель неплохо подтвердилась
- то есть действительно, во "всей науке" можно обнаружить намного больше фрода, связанного с дубликатами статей, чем в рамках одного издателя, пусть и большого
От почти-дубликатов к импакту на всю индустрию. Часть 1
#career #projects
Пора бы рассказать и про один из самых интересных проектов: с идеей, реализацией, конфликтами, импактом и, внезапно, теорией графов. У нас почти все проекты top-down, то есть менеджеры все разрулили и спустили нам задачу. Но иногда бывает и bottom-up – сам что-то придумал и пошел питчить, толкать в прод. Вот я пришел в компанию и поразмыслил: “Так, издательство. Прилетают 2.5 млн драфтов статей в год. А что если там дубликаты? Небось куча времени вхолостую”. Адаптировали на PySpark реализацию LSH для поиска почти-дубликатов (на тот момент в mllib спарка реализация была экспериментальной, мы в итоге свою со скалы переписали; А как это делать без спарка – рассказывал в этом посте), прогнали на ~5 млн. названий статей – и увидели, что около 25% всех названий имеют почти-дубликат. Глаза слегка на лоб полезли: “что, серьезно? Когда прилетает новая статья, шанс 1/4, что ее уже видели?“
Стали параллельно трубить о находке и делать EDA (вот тут лучше было подождать результатов анализа). Ну, конечно, большинство дубликатов – безобидные, это resubmission, когда статью отвергли, а она после переработки возвращается. Но ~ в 10% случаев это simultaneous submission – когда автор посылает статью в 2 или более журналов одновременно. Вот это не очень, и такое лучше бы ловить в самом начале, хотя бы чтоб сэкономить усилия издателей и ревьюеров.
Даже в такой простой задаче помогает понимание, что число пар – квадратично по числу объектов. То есть для 5 млн статей это ~12.5 трлн. пар, такое не надо втупую считать (вот это приходилось не раз объяснять менеджерам). Еще мы заметили, что куча навзаний – затычки типа “letter to the editor” или “response to reviewers”, и конечно, они дают квадратичное число таких тривиальных пар – такое надо отсеивать.
Пока суть да дело, я поупражнялся в систем дизайне – накидал приложение, где можно ввести название статьи и получить список похожих (там Datasketch LSH, Redis, докер, Fast API, streamlit). Отнес демку издателям, понял, что попал в точку. У них никаких тулов нет, чтоб ловить дубликаты статей, посланных в разные журналы (в Editorial Manager есть только SQL-решение из 60-ых годов, масштабирующееся только на один журнал). Так что поиск дубликатов сводился к чистому дежавю “Хм, знакомая статья” или “Джооон! Ты ж уже эту статью смотрел?”. И тут моя демка уже начала вовсю использоваться, даже несмотря на то, что в индексе был статический дамп статей и самые свежие статьи не показывались.
Прототип есть, валуе замаячило на горизонте (если накидать на салфетке, получалось ~250к/год сэкономленного времени издателей) и тут началось самое интересное (нет) – месяцев 7 пришлось гоняться за одним-единственным менеджером, поскольку у него именно та команда разработки, которая способна мое поделие вкорячить в прод. А там уже OKR, все дела, так просто в новый проект не впишешься, в-общем, пришлось ждать нового года и только заходом через топ-менеджера убеждать, что мы тут не с куском куска пришли, а это надо деплоить.
Продолжение ⬇️
К слову, тут тоже тема крохоборства затрагивается, и я поддерживаю оратора. Читаю Павла, чтоб повысить свою финансовую грамотность с нуля до эпсилон.
Читать полностью…А вместо мема к предыдущему посту – картинка под названием НОЛОХ. У тиер 1 бублик прям пополам делится
Читать полностью…Победа в голландском треке по детекции chatGPT-контента
#fake_text_detection #ml #chatgpt #competition
Хех, победа. Понятно, как я это буду в резюме подавать, в реальности же мы с коллегой победили среди 4 команд (sic! ох уж эти академ-соревы) в одном треке (голландском), причем в другом (англоязычном) с тем же решением заняли всего 3 место. Лидерборд. Бонусом – получили $500 на команду (мелочь, а приятно, не ожидали от академиков) и скатался в Антверпен на invited talk, где рассказал, что как с Generative AI в науке и research integrity (тут то же самое – по тегу #fake_text_detection).
Соревнование – в рамках локальной бельгийско-голландской конференции CLIN (Computational Linguistics in The Netherlands). Надо распознавать GPT-генерированный текст на английском и голландском, жанров 5: новости, твиты, рецензии, поэзия и некий мистический жанр прозы. Обучающих данных не дали, дали только 1200 примеров в дев сете (без поэзии и мистики), большинство участников собственно кроме этого дев сета других данных и не собирали. Я ожидал прям ядреный шейкап, но в целом его не произошло – тест был очень похож на дев сет. Ну только с поэзией все провалились.
У меня решение в-общем, в лоб: XLMRoberta – и в путь! Из более-менее интересного, помогло дополнительно предсказывать жанр (если обобщить до практического применения: будущий chatGPT-детектор может быть не универсальным, а смесью разных детекторов, один для твитов, второй – для научных статей и т.д.). Также мы обнаружили, что детекторы, обученные не научных статьях, более-менее работают и на данных соревнования, что странно.
Но у победителя английского трека Hans van Halteren решение интересней – чистый фича инжениринг и простые модельки. Из признаков - насколько распределение слов отличается от диктуемого законов Зипфа (у людей ближе к Зипфу), дисперсия длины предложений (у людей выше), то же самое с разбивкой на начала/середину и конец текста. Дальше рассказывать не могу, Ханс скоро опубликует свои находки.
Все участники соревнования также будут вместе писать статью, смотреть, как модели, обученные в рамках этого соревнования, обобщаются на другие похожие данные (а их немало уже насобирали). Есть ощущение, что обобщаться это все должно не очень здорово, и от нормального детектора мы все так же далеки. Но будет интересно поглядеть.
А если вдруг кто хочет прыгнуть в такую же задачу – 8-ая задача SemEval 2024 ровно про это. SemEval – авторитетные в NLP-кругах соревнования и задача, как я тут в канале уже неоднократно писал, очень сложная. Так что челлендж. Но, с другой стороны, если что-то осмысленное получится накопать, можно прославиться опубликовать статью.
Вообще порой глазами получается распознать текст, написаный chatGPT – если он длинный, душный, похож на документацию и грамотно написан – бинго! Осталось это только формализовать, упаковать в ML-фичи и продавать свой очередной chatGPT-детектор с 99% accuracy.
О математике в искусстве Эшера
#random #math #art
Пример работ Эшера. 1. Невозможный треугольник. 2. Метаморфозы. 3. Змеи. 4. Ангелы и Демоны (визуализация гиперболического пространства). 5. Замощение плоскости. 6. Еще превращения.
#random #chatgpt #career
На этой неделе пил кофе со знакомым из компании-конкурента. Говорит, в один прекрасный день всех Applied Data Scientist-ов выгнали на мороз. С идеей, что промпты писать могут и инженеры. Некоторые DS остались, но с сильно большей инженерной компонентой.
Кажется, началось.
Пока туповат для 400к/год на удаленке
#career #fail
Наткнулся тут в LI на пару интересных вакансий, в названии которых сразу значится цифра 400к/год: SVP of AI-Based Education и Head of AI Engineering. 100% ремоут🤙. Первая особенно примечательна: SVP, но по описанию чистый IC (individual contributor), нужен только промпт-инжиниринг по сути да LangChain, весь стек походу – поверх chatGPT (то есть если прилегли апи OpenAI, они тоже с радостью отдохнут). Обе вакансии в Trilogy, компанию, с которой в 80-90-ых началась (если верить пятиминутному гуглежу) технологическая движуха в Остине. Нанимают они через платформу Crossover, на которой даже чтоб откликнуться на вакансию надо пройти пару-тройку интересных тестов.
Первый – Aptitude Test (читай: IQ), классика, 15 минут, 50 вопросов, думать некогда, надо быстро найти лишнюю фигуру среди скопления черных кружков и белых треугольников. Первая попытка – 58%, вторая и последняя – 72% (85 перцентиль). Сказали, что для VP туповат, а на Head of AI engineering – норм 😂
Второй тест – английский, сначала повторить за нэйтивом услышанное, потом поговорить 3 раза по минуте, ответить на вопросы типа "каков твой типичный день?" или "куда бы ты поехал в отпуск?". Тут набрал 3 звезды из 4, ну, понятно, что я не нэйтив, пойдет. Сказали, для хэд оф Эй-Яй инжиниринг английский на 3 из 4 – грешновато, но ладно, иди дальше.
И третий тест – литкод-стиль на полтора часа, задизайнить свою in-memory DB, там 4 уровня сложности, довольно весело. Почти осилил 3 из них, 420 баллов (видать, из 1к) – до свидания, приходи через полгода.
Тут, конечно, можно побздеть про IQ-тест на входе и что 400к – небось 300 из них стоками, все такое, но морали не будет. Если кому интересно поупражняться – напишите, кто дошел до собеса и че по офферу (если не NDA офк, истории с небезысвестным в узких кругах Тернаусом не повторяем).
Generative AI & Research Integrity. Часть 3. Детекторы (продолжение)
#science #ml #chatgpt
Наконец есть методы, обозванные в обзоре статистическим (а то как будто стилометрия и дип лернинг – не статистика). Они смотрят на вероятности появления слов, перплексию, KL-дивергенцию между распределениями слов у людей и моделей и т.п. Работали, может, и неплохо, но только до GPT-3. DetectGPT здесь же. Он предполагает, что синтетические тексты обитают на неком многообразии, которое можно выделить с помощью простой формулы (”The hypothesis of this statistics-based detector is that neural texts tend to lie in areas of negative curvature of the log probability function”, статья). Вроде zero-shot, интересно, но в упомянутом выше свежем бенчмарке IDMGSP DetectGPT очень плох. Наконец, сюда же попадает статья с участием Лаиды Кушнаревой, Сергея Николенко и Евгения Бурнаева (обзор Лаиды тут). Я даже не буду пытаться пересказать, какой матаппарат там накрутили, но нашли магическую функцию, отделяющую синтетические тексты от человеческих. Но, как и сами авторы писали, есть проблемы (например, в случае высокой температуры GPT), да и у меня на бенчмарке IDMGSP метод как-то не очень завелся.
Есть еще всякие fingerprints/watermarks, которые могут быть как чисто статистическими, так и гибридными, если в какой-то части используют эмбеддинги берта. Одна из идей – искусственно завышать вероятность появления некоторых слов из белого списка (был пост про это и в сиолошной). Но опять же, прям надежно это не работает, умельцы смогут хакнуть. Так что мечта о том, что OpenAI & Co. сами будут помечать синтетические тексты ватермарками, пока не очень работает.
В-общем, детекторов разных куча. Кажется, по точности побеждают берты. Но не хватает обширных бенчмарков (у меня даже была идея о GLUE-подобного лидерборда для этой задачи). Ну а с качеством in the wild совсем беда.
Напоследок порассуждаю, как такие детекторы могут применяться в реальности, на площадках типа реддита и StackOverflow, или в интересах научных издателей, желающих распознать chatGPT-генерированные статьи. Ответ прост: да почти никак. Детекторы все плохи. Кто это уже понял, не запрещает chatGPT . Кто не понял, выступает клоуном и пытается запретить chatGPT. Пхахах, берем попкорн и смотрим, как StackOverflow будет банит GPT-ботов.
Научный издатель Эльсивир не запрещает chatGPT при написании текстов, правда, только для пруфридинга и коррекции грамматики. То есть на совести автора признаться, что chatGPT использовался, но типа как Grammarly. На самом деле если провести небольшой мыслительный эксперимент, можно понять, что научным издателям не поможет даже оракул со 100% точностью детекции. Вот перед тобой 2 статьи, одна с нуля написана chatGPT и не имеет смысла, вторая – осмысленная, нормальная статья, у которой каждый абзац переписан с помощью chatGPT, чтоб улучшить язык и формулировки. Оракул скажет, что обе статьи синтетические и будет прав. Не очень полезно.
Все это весело. Пока задача плохо решается. Уже живем в мире, в котором нельзя дать гарантии, что какой-либо текст написан человеком. Делать надежные детекторы тем не менее надо. Как минимум для того, чтоб в GPT-N подсовывать тексты, реально написанные людьми (как известно, обучать LLM на текстах, написанных LLM, не очень продуктивно). Интересно понаблюдать, как chad компании будут исчерпывать интернет в поисках данных для новых LLM и как они будут отфильтровывать синтетику.
Короче, хохма! На работе у нас есть тестовое задание, но кандидаты его вставляют в ChatGPT и постят решение оттуда. Но! Если в промпт чата добавить стоп-слово, то он просто ничего не выдаст. Ну мы и добавили в описание задания, что клиент с острова Jost Van Dyke. Всё, промпт просто не отправляется 😄
https://en.wikipedia.org/wiki/Dyke_(slang)
Обзор курса “Generative AI with LLMs”
#courses #ml
"Generative AI with LLMs"
Прошел по наводке @etsymba это короткий, но насыщенный курс. Тут снова Ын засветился, но только во введении. Впрочем, остальные тьюторы тоже четкие, как и презентация в целом. Рассматриваются:
- LLM и основные понятия, так что теперь не спутать instruction fine-tuning и простой fine-tuning или prompt engineering с prompt tuning
- RLHF (довольно подробно), PEFT, LORA, прочие особенности использования LLM в бою
- приложения на основе LLM, LangChain и подобные
- практические задания полезны: суммаризация диалогов, promt engineering (zero-shot, few-shot), затем instruction fine-tuning c PEFT и уменьшение токсичности с RLHF
Чего мне не хватило:
- лабы с разработкой приложения на основе LLM. Иначе вся это теория про LangChain забывается. Впрочем, есть еще курс “LangChain for LLM Application Development” от DeepLearning.AI
- снова ничего про отладку, опять какая-то магия: “вот у нас 5 компонентов, в центе LLM как мозг приложения”. Что делать, если LLM-ка что-то не так поняла – хз. Опять же, Ын выпустил еще один короткий курс “Evaluating and Debugging Generative AI”, может, там становится понятней
- лабы слегка как в курсах бигдатки без самой бигдатки. Хотелось бы примеров файнтюнинга чего-то реалистичного, например, LLama2-13b.
#promo
Новый мини-батч инициатив от друзей-знакомых (не кумовство, а Нетворкинг!):
- Бесплатный интенсив от Mathshub для миддлов и синьоров по софт-скилам и построению личного бренда (кто считает это булщитом, почитайте Rise, вдруг передумаете). Детали тут
- Неутомимый Алекс Григорьев, основатель DataTalks перезапускает ML Zoomcamp в сентябре – пост в LI, GitHub-репа курса
- Бывшая коллега Maria Vechtomova тащит блог Marvelous MLOps c еженедельными постами, новостями и мемами