Для начала – хорошая вводная статья, как представляется текст для языковой модели.
https://towardsdatascience.com/word-subword-and-character-based-tokenization-know-the-difference-ea0976b64e17
https://towardsdatascience.com/word-subword-and-character-based-tokenization-know-the-difference-ea0976b64e17
Medium
Word, Subword, and Character-Based Tokenization: Know the Difference
The differences that anyone working on an NLP project should know
Для начала – хорошая вводная статья, как представляется текст для языковой модели. #ml #nlp #tokenization
https://towardsdatascience.com/word-subword-and-character-based-tokenization-know-the-difference-ea0976b64e17
https://towardsdatascience.com/word-subword-and-character-based-tokenization-know-the-difference-ea0976b64e17
В продолжение предыдущей статьи. Рассказ в деталях про BPE (byte pair encoding) – один из наиболее распространённых и очень универсальный способ представления текста #ml #nlp #tokenization
https://towardsdatascience.com/byte-pair-encoding-subword-based-tokenization-algorithm-77828a70bee0
https://towardsdatascience.com/byte-pair-encoding-subword-based-tokenization-algorithm-77828a70bee0
Medium
Byte-Pair Encoding: Subword-based tokenization algorithm
Understand subword-based tokenization algorithm used by state-of-the-art NLP models — Byte-Pair Encoding (BPE)
Зрелый рассказ про механизмы настройки генерации в GPT-2 – по которым она обходит более крупные модели от EleutherAI (например, GPT-J, с которой было связано определённое количество моих личных надежд)
https://towardsdatascience.com/conditional-text-generation-by-fine-tuning-gpt-2-11c1a9fc639d
https://towardsdatascience.com/conditional-text-generation-by-fine-tuning-gpt-2-11c1a9fc639d
Medium
Conditional Text Generation by Fine Tuning GPT-2
Given a noscript and a list of keywords, would GPT-2 be able to generate convincing fake news?
MLOps в радикальном виде: https://habr.com/ru/company/tinkoff/blog/669480/
Мне не близка жёсткая формализация всех процессов, но сама суть “работает – коммить” абсолютно правильна.
Из плюсов рассказа – в Тинькоффе есть весьма жирные модели, нередко MLOps хорошо работает, когда разработчики пилят однотипные модельки для схожих данных для задач классического ML, и перестают работать с жирными языковыми моделями, у которых меняется архитектура (а нередко даже тип) #mlops #russian
Мне не близка жёсткая формализация всех процессов, но сама суть “работает – коммить” абсолютно правильна.
Из плюсов рассказа – в Тинькоффе есть весьма жирные модели, нередко MLOps хорошо работает, когда разработчики пилят однотипные модельки для схожих данных для задач классического ML, и перестают работать с жирными языковыми моделями, у которых меняется архитектура (а нередко даже тип) #mlops #russian
Хабр
Как мы подходим к поддержке ML-моделей в синтезе речи
Всем привет! Меня зовут Александра Сорока, я занимаюсь синтезом речи в Tinkoff Voicekit. А это — мой текст о том, зачем вообще думать о долгосрочной поддержке кода и ML-моделей. Я расскажу, почему мы...
Довольно бесполезная верхнеуровневая статья про разработку #voicerecognition бота от Сбера на #habr. Тем не менее, зацепила обзором процесса от начала до конца. #russian
https://habr.com/ru/company/sberdevices/blog/658575/
https://habr.com/ru/company/sberdevices/blog/658575/
Хабр
Бесплатный Telegram-бот для расшифровки аудио. Рассказываем кратко, как мы его сделали
Команда SberDevices запустила бесплатный бот в Telegram, который конвертирует русскоязычные голосовые сообщения и аудиофайлы в текстовый формат. Бот работает на основе технологии распознавания речи...
Очень годный курс-читшит по #NLP
https://lena-voita.github.io/nlp_course.html
Курс теоретический, писать код, тем более промышленный, он не научит, но в нём собраны ссылки на все ключевые публикации по теме (и совсем немного ссылок малополезных), картинки просто шикарные. Вкупе с желанием найти код для каждой заинтересовавшей методики может помочь заботать обработку текстов за месяц.
https://lena-voita.github.io/nlp_course.html
Курс теоретический, писать код, тем более промышленный, он не научит, но в нём собраны ссылки на все ключевые публикации по теме (и совсем немного ссылок малополезных), картинки просто шикарные. Вкупе с желанием найти код для каждой заинтересовавшей методики может помочь заботать обработку текстов за месяц.
lena-voita.github.io
NLP Course | For You
Natural Language Processing course with interactive lectures-blogs, research thinking exercises and related papers with summaries. Also a lot of fun inside!
Мало кто будет читать оригинальную статью про #gpt3, но она вводит основную концепцию применения подобных моделей – дообучение на крайне небольших выборках
https://arxiv.org/abs/2005.14165
https://arxiv.org/abs/2005.14165
Немного в сторону.
Очевидно, разработка промышленных решений для NLP-задач требует подумать, куда и как их деплоить. С учётом сложности и производительности подобных моделей их имеет смысл резервировать путём запуска на кластере. Одним из наиболее распространённых механизмов организации кластера уже несколько лет является #Kubernetes.
@lexfrei мне некоторое время назад продал курс https://kodekloud.com/courses/certified-kubernetes-application-developer-ckad/ , задача которого – рассказать разработчику приложений, как ему учесть эту особенность, продумать архитектуру приложения и не мешать оптимальной выкатке кода на кластер.
Сертификацию по итогам можно пройти здесь: https://www.cncf.io/certification/ckad/
Очевидно, разработка промышленных решений для NLP-задач требует подумать, куда и как их деплоить. С учётом сложности и производительности подобных моделей их имеет смысл резервировать путём запуска на кластере. Одним из наиболее распространённых механизмов организации кластера уже несколько лет является #Kubernetes.
@lexfrei мне некоторое время назад продал курс https://kodekloud.com/courses/certified-kubernetes-application-developer-ckad/ , задача которого – рассказать разработчику приложений, как ему учесть эту особенность, продумать архитектуру приложения и не мешать оптимальной выкатке кода на кластер.
Сертификацию по итогам можно пройти здесь: https://www.cncf.io/certification/ckad/
Kodekloud
Certified Kubernetes Application Developer (CKAD) Course | KodeKloud
course by KodeKloud. Learn with our interactive labs and personalized guidance that prepares you for real jobs complete with labs, quizzes, and mock exams.
Абсолютно в сторону: не самая плохая модель для детектирования лица
https://github.com/clcarwin/SFD_pytorch
https://github.com/clcarwin/SFD_pytorch
GitHub
GitHub - clcarwin/SFD_pytorch: A PyTorch Implementation of Single Shot Scale-invariant Face Detector.
A PyTorch Implementation of Single Shot Scale-invariant Face Detector. - GitHub - clcarwin/SFD_pytorch: A PyTorch Implementation of Single Shot Scale-invariant Face Detector.
Forwarded from Oleg Ur: (";("
Для начала (читать в фоне)
- https://www.cs101.com - как устроены эти считающие железки
- https://vk.com/wall-101965347_168131 - примерно оно же, единая книга. Можно в бумажном виде.
- https://habr.com/ru/post/664360/ - тебе придётся писать скрипты. Даже простейшая задача на фильтрацию или сортировку может быть решена разными способами.
Читать и практиковаться
- Обязательно освоить консоль и не то что не бояться её, а хотеть туда перейти – потому что графическая морда может быть любая, а консоль даже при переходе с Linux на BSD и QNX похожа: https://ubuntu.com/tutorials/command-line-for-beginners#1-overview
- опционально – пройтипизды фаерволла
- обязательно – https://www.freecodecamp.org/news/the-docker-handbook/ (поставить и возиться. Как выяснилось, Костя тоже не вполне понимает, как дебажить, если из докера внутри Linux-системы в виртуалке не пробрасывается 8080 порт. Вчера полтора часа убили, хотя и весело)
Потом, для понимания, зачем ты это всё делаешь и как тебе поддерживать чужие системы (можно вечерами во время работы): https://sre.google/books/
- https://www.cs101.com - как устроены эти считающие железки
- https://vk.com/wall-101965347_168131 - примерно оно же, единая книга. Можно в бумажном виде.
- https://habr.com/ru/post/664360/ - тебе придётся писать скрипты. Даже простейшая задача на фильтрацию или сортировку может быть решена разными способами.
Читать и практиковаться
- Обязательно освоить консоль и не то что не бояться её, а хотеть туда перейти – потому что графическая морда может быть любая, а консоль даже при переходе с Linux на BSD и QNX похожа: https://ubuntu.com/tutorials/command-line-for-beginners#1-overview
- опционально – пройти
vimtutor (http://www2.geog.ucl.ac.uk/~plewis/teaching/unix/vimtutor). Он не обязателен и вряд ли ты с ним будешь работать, но поставить его можно куда угодно (хоть на малину, хоть на 486 комп), он весьма мощный, а главное – умея с ним хоть как-то работать, ты поймёшь, что делать с машиной, которая от тебя за три - обязательно – https://www.freecodecamp.org/news/the-docker-handbook/ (поставить и возиться. Как выяснилось, Костя тоже не вполне понимает, как дебажить, если из докера внутри Linux-системы в виртуалке не пробрасывается 8080 порт. Вчера полтора часа убили, хотя и весело)
Потом, для понимания, зачем ты это всё делаешь и как тебе поддерживать чужие системы (можно вечерами во время работы): https://sre.google/books/
#offtop #image Базовая работа по variational autoencoder, которая привела к появлению DALL-e. Хороша также обзором предыдущих попыток по zeroshot генерации изображений по текстовому входу.
https://arxiv.org/abs/2102.12092
https://arxiv.org/abs/2102.12092
Forwarded from Rufina Rafikova
https://youtu.be/hDCVU_hDblE есть конечно)
YouTube
Диффузионные модели с динамически меняющимся размером
Дмитрий Ветров, НИУ ВШЭ, Москва, Россия
За последние два года диффузионные модели задали новую планку качества в генеративном моделировании.
Эта красивая концепция объединяет в себе нейродиффуры, моделирование на основе скор-функции, приближенные методы…
За последние два года диффузионные модели задали новую планку качества в генеративном моделировании.
Эта красивая концепция объединяет в себе нейродиффуры, моделирование на основе скор-функции, приближенные методы…
Очень лонгрид про умение делать выводы (reasoning) и самосозрание у больших моделек
https://astralcodexten.substack.com/p/somewhat-contra-marcus-on-ai-scaling?s=r
https://astralcodexten.substack.com/p/somewhat-contra-marcus-on-ai-scaling?s=r
Astral Codex Ten
Somewhat Contra Marcus On AI Scaling
...
История развития генеративных (чуть не написал – денегеративных!) моделей
https://medium.com/walmartglobaltech/the-journey-of-open-ai-gpt-models-32d95b7b7fb2
https://medium.com/walmartglobaltech/the-journey-of-open-ai-gpt-models-32d95b7b7fb2
Medium
The Journey of Open AI GPT models
Generative Pre-trained Transformer (GPT) models by OpenAI have taken natural language processing (NLP) community by storm by introducing…
#offtop #networks
Настройка wireguard c правилами, разрешающими трафик от клиентов только наружу
- Ubuntu: https://www.linuxbabe.com/ubuntu/wireguard-vpn-server-ubuntu
- Miktorik: https://www.medo64.com/2022/04/wireguard-on-mikrotik-routeros-7/
Если надо лазать не только наружу, но и в LAN на роутере – в ip/firewall второе правило для Mikrotik прописывается с
Настройка wireguard c правилами, разрешающими трафик от клиентов только наружу
- Ubuntu: https://www.linuxbabe.com/ubuntu/wireguard-vpn-server-ubuntu
- Miktorik: https://www.medo64.com/2022/04/wireguard-on-mikrotik-routeros-7/
Если надо лазать не только наружу, но и в LAN на роутере – в ip/firewall второе правило для Mikrotik прописывается с
chain=input, а не forward. При этом на клиенте в AllowedIPs для сервера нужно, естественно, указывать 0.0.0.0/0.LinuxBabe
Set Up Your Own WireGuard VPN Server on Ubuntu 24.04/22.04
This tutorial shows you how to set up your own WireGuard VPN server on Ubuntu. WireGuard is made specifically for the Linux kernel. It runs inside the Linux kernel and allows you to create fast, modern, and secure VPN tunnel.
#offtop #networks
Надо попробовать: https://github.com/mike6715b/Mikrotik_CF_DDNS/blob/main/CF-Update.rsc#L39 - скрипт для обновления зоны на cloudflare.
Пока что воспользовался сервисом от самого Mikrotik в IP/Cloud.
Надо попробовать: https://github.com/mike6715b/Mikrotik_CF_DDNS/blob/main/CF-Update.rsc#L39 - скрипт для обновления зоны на cloudflare.
Пока что воспользовался сервисом от самого Mikrotik в IP/Cloud.
GitHub
Mikrotik_CF_DDNS/CF-Update.rsc at main · mike6715b/Mikrotik_CF_DDNS
Script for automatic DNS updates on Cloudflare. Contribute to mike6715b/Mikrotik_CF_DDNS development by creating an account on GitHub.
#nlp #bert Отличный cookbook в репозитории по классификации текстов и извлечению именованных сущностей: https://github.com/flairNLP/flair/blob/master/resources/docs/TUTORIAL_10_TRAINING_ZERO_SHOT_MODEL.md
GitHub
flair/resources/docs/TUTORIAL_10_TRAINING_ZERO_SHOT_MODEL.md at master · flairNLP/flair
A very simple framework for state-of-the-art Natural Language Processing (NLP) - flairNLP/flair
#offtop #diffusion
Уже довольно старый (больше года) пост про то, что такое диффузионные модели. Ещё до ярких успехов этого года с stable diffusion и интерфейсом к ней.
https://lilianweng.github.io/posts/2021-07-11-diffusion-models/
Уже довольно старый (больше года) пост про то, что такое диффузионные модели. Ещё до ярких успехов этого года с stable diffusion и интерфейсом к ней.
https://lilianweng.github.io/posts/2021-07-11-diffusion-models/
GitHub
GitHub - CompVis/stable-diffusion: A latent text-to-image diffusion model
A latent text-to-image diffusion model. Contribute to CompVis/stable-diffusion development by creating an account on GitHub.
Forwarded from ̶с̶а̶м̶̶о̶изолента мёбиуса
Последние три дня (в пятницу был выходной) занимался машинным переводом, но не для работы.
Идея была в том, чтобы влезть в соревнование AI4TALK от Сбера по распознаванию речи и машинному переводу для малоресурсных языков. Если бы удалось занять призовое место, премию думал потратить на сбор и разметку новых данных, в том числе и для эрзянского, делая таким образом компьютерную лингвистику самоокупаемой.
Несколько дней занимался странными вещами, типа скрапинга эвенкского словаря и написания транслитератора между разными орфографиями башкирского. Дообучил модель NLLB-200 в нескольких версиях, одной из них остался доволен. Сегодня собрался смотреть, как она отработает на тестовых данных... и не смог разобраться с системой сабмита решений. Локально контейнер работает, а при заливке – валится.
Целый день вертел докер с решением и так, и сяк – всё напрасно. Я написал организаторам соревнования, но меня старательно проигнорировали. А когда я вечером нашёл чат соревнования и попытался разобраться там, меня из чата выпилили. И уже в личке админ объяснил, что помогать мне не собираются, потому что я зарегистрировался с политически окрашенным ником команды. А у них, мол, политические взгляды нейтральные, поэтому они считают нормальным тупо читать мои сообщения и не отвечать.
С одной стороны, конечно, я сам дурак; если уж полез играть со Сбером, надо было играть по его правилам и не выпендриваться. С другой – оно всё-таки того стоило, ведь если бы команда "Slava Ukraini" победила в Сберовском конкурсе, это было бы как минимум весело)
Ну а нормальный машинный перевод с эвенкийского языка мы ещё сделаем.
Идея была в том, чтобы влезть в соревнование AI4TALK от Сбера по распознаванию речи и машинному переводу для малоресурсных языков. Если бы удалось занять призовое место, премию думал потратить на сбор и разметку новых данных, в том числе и для эрзянского, делая таким образом компьютерную лингвистику самоокупаемой.
Несколько дней занимался странными вещами, типа скрапинга эвенкского словаря и написания транслитератора между разными орфографиями башкирского. Дообучил модель NLLB-200 в нескольких версиях, одной из них остался доволен. Сегодня собрался смотреть, как она отработает на тестовых данных... и не смог разобраться с системой сабмита решений. Локально контейнер работает, а при заливке – валится.
Целый день вертел докер с решением и так, и сяк – всё напрасно. Я написал организаторам соревнования, но меня старательно проигнорировали. А когда я вечером нашёл чат соревнования и попытался разобраться там, меня из чата выпилили. И уже в личке админ объяснил, что помогать мне не собираются, потому что я зарегистрировался с политически окрашенным ником команды. А у них, мол, политические взгляды нейтральные, поэтому они считают нормальным тупо читать мои сообщения и не отвечать.
С одной стороны, конечно, я сам дурак; если уж полез играть со Сбером, надо было играть по его правилам и не выпендриваться. С другой – оно всё-таки того стоило, ведь если бы команда "Slava Ukraini" победила в Сберовском конкурсе, это было бы как минимум весело)
Ну а нормальный машинный перевод с эвенкийского языка мы ещё сделаем.