Aspiring Data Science
318 subscribers
386 photos
10 videos
6 files
1.41K links
Заметки экономиста о программировании, прогнозировании и принятии решений, научном методе познания.
Контакт: @fingoldo

I call myself a data scientist because I know just enough math, economics & programming to be dangerous.
Download Telegram
Давеча была новость, что в гугле "красный код" после выхода чатГПТ. А ведь не зря! В ней я спокойно нашел то, что не смог "нагуглить" или "навикить".
https://3dnews.ru/1081225/moskovskiy-student-napisal-diplom-s-pomoshchyu-chatgpt-i-dage-smog-ego-zashchitit

"Алексей Жадан писал дипломную работу по теме «Анализ и совершенствование управления игровой компании». На начальном этапе он сгенерировал план работы по заданной теме и направил его научному руководителю. План пришлось переработать в соответствии с методическим пособием по написанию научных работ. Для этого студент попросил ChatGPT изучить справочный материал и адаптировать под него план диплома.

Для генерации введения к работе Жадан отправил чат-боту основной запрос на английском языке, а позднее просил дополнить материал из-за ограничений бота по количеству символов. Получившийся текст объёмом 6200 символов он перевёл на русский. Аналогичным образом была написана теоретическая часть работы. Чтобы сделать выводы по трём частям первой главы, студент скопировал последние абзацы каждой части и попросил чат-бота обобщить их.

Вторая и третья части работы требовали анализа с расчётами и практическими рекомендациями. Для их генерации студент нашёл похожую работу по другой компании и отправил её ChatGPT, попросив изменить содержание под свою тематику. В общей сложности на подготовку дипломной работы ушло 23 часа. Из них 15 часов ушло на написание материала через ChatGPT и 9 часов — на редактирование сгенерированного материала. При этом оригинальность диплома составила 82 %. Научный руководитель и дипломная комиссия отмечали несвязность и нарушение логики русского языка в работе, но Жадан смог защитить её, получив оценку «удовлетворительно»."
Расскажу про одну статью, которая перманентно висит у меня во вкладках в браузере: https://arxiv.org/pdf/1908.08962.pdf . Называется Well-Read Students Learn Better: On the Importance of Pre-training Compact Models.

В этой статье рассказывается про уменьшенные версии модели BERT: от самой маленькой - 2 слоя attention, 2 головы attention на каждом слое (Tiny) до базовой - 12 слоев attention, 12 голов на каждом (Base).
Центральная тема статьи - трехэтапный метод обучения этих моделей, называемый Pre-trained Distillation (Figure 1 в статье или Рис. 1 в посте ниже). Имеется в виду следующая схема: сначала маленькая моделька предобучается на стандартной задаче Masked Language Modelling (учится угадывать пропущенные слова в текстах), потом в нее дистиллируются знания из большой модели (маленькую модель учат подражать "поведению" большой - в данном случае ее просто учат выдавать те же выходы, что и большая, на каждом показанном примере из датасета), и только затем происходит обычное дообучение (fine-tuning).
В результате получения столь всестороннего образования маленькие модельки начинают показывать достойные результаты на датасете GLUE (General Language Understanding Evaluation) - лучше, чем при стандартной схеме Pre-Training + Fine-tuning. Ну а самостоятельно испытать способности этих маленьких моделек нам предлагают прямо на хабе huggingface, куда они и были выложены: https://huggingface.co/google/bert_uncased_L-12_H-768_A-12 (правда, я не до конца уверена в том, после какого именно метода обучения выложены веса, об этом будет сказано ниже) .
Кроме сравнения разных методов обучения, авторы проводят еще и анализ того, как ширина и глубина влияют на качество модели. Мне очень понравилась эта тема, и я сильно залипла в график на Рис. 2 (также известный как Figure 6). Здесь PD означает Pre-trained Distillation, PF - Pre-trained Fine-tuning. Красным я отметила результаты, соответствующие размерам моделей, выложенных на huggingface. Справа от графика я поместила кусок из таблицы, выложенной на huggingface по ссылке.
Вроде бы, результаты из таблицы соответствуют результатам обучения после Pre-training (MLM) + Fine-tuning с графика. Но в моем эксперименте Tiny Bert с huggingface на SST-2 показала результат лучше, чем в таблице - на уровне Pre-trained Distillation. Может быть, у меня по-другому разбит датасет SST-2? Или они вставили на страницу в huggingface не ту таблицу и все-таки выложили модели не просто после Pre-training, а после Pre-trained Distillation (хотя тогда неясно, на каком именно датасете проводилась дистилляция, ведь говорится, что она task-specific)? Хотелось бы уточнить у авторов, но они пока не отвечают.
Ну а в общем и целом выводы из графика такие, что при продвинутых методах обучения (D, PD, PF) глубина модели в среднем дает больший выигрыш в качестве, чем ширина, а при простейшем методе (Fine-tuning без предварительного обучения) и глубина, и ширина на датасетах из GLUE помогают мало.
Кроме прочего, авторы сравнивают указанные методы с методом truncation (когда маленькую модель инициализируют некоторым подмножеством весов большой) + distillation, а также изучают влияние того, на каком именно датасете производилась дистилляция, на итоговую точность, в частности, немного написали про явление domain shift (это когда целевая задача и задача дистилляции сильно отличаются).
В общем, получился обстоятельный анализ, который можно использовать как справочный материал для своих исследований.

#объяснения_статей
Forwarded from Записки дата-шрушера (Ppilif) (Ppilif Uliankin [GMT+1])
Про собеседования по алгоритмам #собесы

Когда ты устраиваешься в ML или в аналитику, много где надо пройти секцию c кодом. Чаще всего на этих секциях встречаются довольно простые алгоритмические задачки.

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

При подготовке к таким секциям люди задрачивают leetcode, но забывают про разговор. В итоге это приводит к тому, что на собесах возникают ступоры и кандидат уходит в себя. Он сидит и думает молча. Так делать нельзя, надо начинать рассуждать вслух.

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

1. Читаешь условие. Проговариваешь свой алгоритм голосом. Оцениваешь голосом его сложность по памяти и времени. Если слишком большая, думаешь где ты в алгоритме делаешь лишние действия. Обычно, на секциях для аналитиков, все должно делаться за O(n).

Тут можно сформулировать самую грубую версию, оценить её сложность, а дальше в рассуждених улучшить её.

2. Если со сложностью все ок — проговариваешь голосом какие могут быть краевые случаи и как их надо обработать. Записываешь их.

3. Пишешь код в блокноте. Без автоподсказок и интерпретатора. Не запускаешь его до последнего.

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

5. Запускаешь код. Если работает норм — комитишь на литкод. Если падает, смотришь тест, ищешь ошибку, правишь и больше не допускаешь.

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

Решать задачи с литкода — это, конечно, хорошо. Что делать если не шаришь во всех этих О(n)? Я бы в таком случае прочитал грокаем алгоритмы. Читается за выходные и открывает кучу чакр.

Ну а дальше можно пойти на литкод либо пальнуть яндексовые видосы про алгоритмы с Густокашиным. К ним прилагаются контесты, которые можно порешать. Не забывайте делать это по схеме, которую я вкинул выше. В любом собеседовании — главное разговор, а не задача.
Forwarded from NOdata Миша
Посмотрел, что умеет Notion и написал об этом на vc

Если статья окажется для вас интересной, то не забудьте поставить ей лайк 👍

https://vc.ru/future/599192-notion-ai-iskusstvennyy-intellekt-uzhe-i-v-zametkah

#статьи
Forwarded from Вастрик.Пынь
🤖 ChatGPT. Когда уже нейросети наконец-то заменят кожаных ублюдков?

Много меня просили написать свои мысли по поводу ChatGPT. Написал пока три.

1. ChatGPT заменит людей, но только тех, которые не осилят сам ChatGPT. А для остальных он станет просто ежедневным компаньоном (уже стал)

2. «Большие дядьки» обосрутся и побегут скорее запрещать и ограничивать нейросети. А у простых людей прокачается новый скилл: детектор, что перед тобой нейросеть

3. Да, поисковики умрут, но не потому что ChatGPT их заменит

Развернул тут: https://vas3k.blog/notes/chatgpt/
#numpy #stats #percentile

А Вы задумывались, что вообще-то для вычисления перцентилей/квантилей есть КУЧА методов? По дефолту идёт линейный, но в доках в общем случае для неизвестного распределения рекомендуется median_unbiased.

Облом состоит в том, что numba параметр method не поддерживает.
#entropy #antropy #stats #informationtheory

Ботанам, которые любят считать энтропию, пригодится!

https://raphaelvallat.com/antropy/build/html/index.html
#stats #r2

Удивительное рядом. При разных наклонах линии регрессии коэффициент детерминации для по сути одного и того же ряда варьируется от 0 до 0.9! Кто знал, что так бывает, ставьте необычный эмодзи )

https://stats.stackexchange.com/questions/519784/linear-regression-r-squared-vs-slope
Forwarded from Artem Ryblov’s Data Science Weekly (Artem Ryblov)
Python & ML tasks
Задачи по Python и машинному обучению

Today I want to share with you a telegram channel which will help you retain your knowledge of python and maybe learn something new.

Every day a question is posted and you can answer it using the quiz under the question.
If your answer is wrong, you can find out the correct one and read the explanation.

#armknowledgesharing #armtelegram #python
Forwarded from New Yorko Times (Yury Kashnitsky)
Книга про ML собеседования
#ml #books #career #interview

Дочитал драфт книги Chip Huyen про ML интервью https://huyenchip.com/ml-interviews-book

Чип https://twitter.com/chipro - незаурядная личность: популярная вьетнамская писательница, выпускница Стэнфорда, поработала в NVIDIA, Netflix и паре стартапов, сейчас свой тащит и преподает ML system design. Я делал обзор на ее книгу Designing Machine Learning Systems» тут https://t.me/new_yorko_times/43

Книга про интервью рассматривает виды работы в области ML (research, applied science, ML engineering), мл сисдиз и MLOps (это по сути краткая выжимка упомянутой выше книги). Далее обсуждаются типы интервью, поведенческие тоже, что говорить и что нет. Далее - что делать с оффером, как переговариваться, как устроена компенсация оплаты в бигтехе. Рассматриваются ресурсы для подготовки (одсовцы найдут целых две пасхалки в части 4.2 про блоги и 4.3.1 про курсы) и наконец, добрая половина книги - это список вопросов к собесам по математике, CS и ML.
#stats #informationtheory #sklearn #bollocks

Я сильно верил во взаимную информацию, потому что сам много лет назад делал её расчёты, и у меня были прекрасные результаты. Но как же это понятие изгадили в sklearn... У меня просто глаза на лоб полезли от этой "реализации". Позапускайте несколько раз:

mutual_info_regression(
np.arange(10).reshape(-1, 1),
(np.arange(10) * 2).ravel(),
)
reported a bug
#ml #sklearn #quasitolerance #bollocks

Sklearn продолжает отжигать. В новой версии они удалили датасет Бостон из-за какой-то надуманной херни. А ведь на него завязана уже было куча примеров в сторонних либах. BorutaShap вообще при импорте сломался.

"load_boston has been removed from scikit-learn since version 1.2.

The Boston housing prices dataset has an ethical problem: as
investigated in [1], the authors of this dataset engineered a non-invertible variable "B" assuming that racial self-segregation had a
positive impact on house prices [2]. Furthermore the goal of the
research that led to the creation of this dataset was to study the
impact of air quality but it did not give adequate demonstration of the validity of this assumption.

The scikit-learn maintainers therefore strongly discourage the use of this dataset unless the purpose of the code is to study and educate about ethical issues in data science and machine learning."

Что на очереди? BreastCancer, потому что там нет данных мужиков и геев? А все ли цвета радуги есть в ирисах Фишера, может, лучше их тоже удалить во избежание?
#cpu #arm #hpc #ml #graviton

Всё ещё считаешь на Интелях, в лучшем случае, на АМД? Оказывается, ARM-процессор Graviton уже рвёт старичков на куски в compute-intensive задаах, в т.ч. ML.

https://community.arm.com/arm-community-blogs/b/infrastructure-solutions-blog/posts/xgboost-lightgbm-aws-graviton3