strugatsky_doom_grad_en.pdf
3.8 MB
#pet #lingtrain
📚 Про пет-проект
На выходных дошли руки позаниматься Lingtrain'ом (пет-проектом для создания параллельных книжек), а заодно сделать русско-английскую версию романа Стругацких, обложку к которому я недавно выкладывал в канале.
〰️ Что это?
Параллельные книжки полезны при изучении иностранных языков. Бывают разные варианты: с чередованием абзацев на разных языках, разбиение на две колонки или текст с подстрочником.
〰️ Зачем?
Найти такие книжки себе по вкусу не так просто, особенно, если язык не английский. Гораздо проще найти тексты на разных языках по отдельности и выровнять их по предложениям. Сложность лишь в том, что люди-переводчики могут какие-то предложения разбивать на несколько, какие-то склеивать, а что-то выкидывать 🤷♂️.
Хотелось, чтобы любой желающий смог сделать себе такую книжку на любых языках.
👉 Lingtrain
С этим-то и может помочь мой скромный пет-проект.
• На основе эмбеддингов (векторных представлений) рассчитывается близость по смыслу и происходит выравнивание.
• Их исходных текстов сохраняется структура абзацев.
• При помощи разметки можно добавить различную метадату (заголовки, цитаты, картинки).
• В результате можно сверстать все это в pdf, либо скачать html, либо как параллельный корпус.
• Под капотом ряд мультиязыковых моделей (LABSE, sentence-transformers USE, rubert-tiny2), так что количество языков для выравнивания 100+.
• Можно дообучать на свой язык. Писал про это здесь.
• Все это собрано в docker, можно быстро запустить локально.
• Проект открытый и у него есть сообщество. Предложения и идеи приветствуются.
GitHub | Как пользоваться | Сообщество
📚 Про пет-проект
На выходных дошли руки позаниматься Lingtrain'ом (пет-проектом для создания параллельных книжек), а заодно сделать русско-английскую версию романа Стругацких, обложку к которому я недавно выкладывал в канале.
〰️ Что это?
Параллельные книжки полезны при изучении иностранных языков. Бывают разные варианты: с чередованием абзацев на разных языках, разбиение на две колонки или текст с подстрочником.
〰️ Зачем?
Найти такие книжки себе по вкусу не так просто, особенно, если язык не английский. Гораздо проще найти тексты на разных языках по отдельности и выровнять их по предложениям. Сложность лишь в том, что люди-переводчики могут какие-то предложения разбивать на несколько, какие-то склеивать, а что-то выкидывать 🤷♂️.
Хотелось, чтобы любой желающий смог сделать себе такую книжку на любых языках.
👉 Lingtrain
С этим-то и может помочь мой скромный пет-проект.
• На основе эмбеддингов (векторных представлений) рассчитывается близость по смыслу и происходит выравнивание.
• Их исходных текстов сохраняется структура абзацев.
• При помощи разметки можно добавить различную метадату (заголовки, цитаты, картинки).
• В результате можно сверстать все это в pdf, либо скачать html, либо как параллельный корпус.
• Под капотом ряд мультиязыковых моделей (LABSE, sentence-transformers USE, rubert-tiny2), так что количество языков для выравнивания 100+.
• Можно дообучать на свой язык. Писал про это здесь.
• Все это собрано в docker, можно быстро запустить локально.
• Проект открытый и у него есть сообщество. Предложения и идеи приветствуются.
GitHub | Как пользоваться | Сообщество
👍12🔥8❤3
#nlp #lecture
Андрей Карпати выложил продолжение лекции про создание языковых моделей.
Перейдя от n-gram'ной статистической модели к нейросетевой, продолжаем развиваться. Строим многослойную сеть (MLP), знакомимся с кросс-энтропией и основными понятиями при тренировке моделей, пишем цикл обучения (train loop).
👉 Материалы лекций | Видео | makemore
Андрей Карпати выложил продолжение лекции про создание языковых моделей.
Перейдя от n-gram'ной статистической модели к нейросетевой, продолжаем развиваться. Строим многослойную сеть (MLP), знакомимся с кросс-энтропией и основными понятиями при тренировке моделей, пишем цикл обучения (train loop).
👉 Материалы лекций | Видео | makemore
🔥6❤2
#nlp #education
Перезапуск курса по NLP
🔺 И еще одна отличная новость для тех, кто хочет полюбить NLP. Запускается 🍁 осенний курс по Natural Language Processing, вести который будет Валентин Малых. Курс бесплатный, сам его я тоже проходил, поэтому могу порекомендовать.
Будут все ключевые темы + домашние задания, которые придется сделать, чтобы окончить курс. Валентин обладает богатым опытом, поэтому сможет ответить на возникшие вопросы. К концу курса нужно будет сделать свой nlp-проект (примеры с прошлых курсов тут).
👉 Курс и расписание | Канал курса
Перезапуск курса по NLP
🔺 И еще одна отличная новость для тех, кто хочет полюбить NLP. Запускается 🍁 осенний курс по Natural Language Processing, вести который будет Валентин Малых. Курс бесплатный, сам его я тоже проходил, поэтому могу порекомендовать.
Будут все ключевые темы + домашние задания, которые придется сделать, чтобы окончить курс. Валентин обладает богатым опытом, поэтому сможет ответить на возникшие вопросы. К концу курса нужно будет сделать свой nlp-проект (примеры с прошлых курсов тут).
👉 Курс и расписание | Канал курса
👍11❤4🔥3
🔺 NLP Map
Добавил на нашу интерактивную карту XGLM (мультиязыковую модельку от Meta) и сделал, чтобы маркеры не накладывались друг на друга.
Сделано на plotly.
👉 Карта | GitHub
Добавил на нашу интерактивную карту XGLM (мультиязыковую модельку от Meta) и сделал, чтобы маркеры не накладывались друг на друга.
Сделано на plotly.
👉 Карта | GitHub
👍6🔥2
🌗 RuLeanALBERT
Коллеги из Яндекса выложили вторую языковую модель в open source и на этот раз все смогут её запустить.
Назвали модель RuLeanALBERT, так как в ней использовали идею расшаривания весов между слоями из оригинальной статьи ALBERT (A Lite BERT). Такой прием на порядок понижает вес модели (пишет про уменьшение в 32 раза). Модель обучали с нуля, поэтому применили другие улучшения типа PreNorm и GEGLU активаций. Обучали как MLM (masked language model).
〰️ Зачем?
Этот кейс скорее не про архитектуру и качество модели, а про то, что ее получилось обучить на нестабильном железе. Это когда вы не бронируете себе N карт на кластере, а имеете разнородную инфраструктуру, причем текущие карты могут отваливаться, а новые подключаться (что видно на картинке). Хороший кейс, подробнее про него написали на хабре.
Код для обучения, к слову, тоже выложили.
Статья | GitHub
Коллеги из Яндекса выложили вторую языковую модель в open source и на этот раз все смогут её запустить.
Назвали модель RuLeanALBERT, так как в ней использовали идею расшаривания весов между слоями из оригинальной статьи ALBERT (A Lite BERT). Такой прием на порядок понижает вес модели (пишет про уменьшение в 32 раза). Модель обучали с нуля, поэтому применили другие улучшения типа PreNorm и GEGLU активаций. Обучали как MLM (masked language model).
〰️ Зачем?
Этот кейс скорее не про архитектуру и качество модели, а про то, что ее получилось обучить на нестабильном железе. Это когда вы не бронируете себе N карт на кластере, а имеете разнородную инфраструктуру, причем текущие карты могут отваливаться, а новые подключаться (что видно на картинке). Хороший кейс, подробнее про него написали на хабре.
Код для обучения, к слову, тоже выложили.
Статья | GitHub
🔥14👍1🎉1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24👍4🎉2🍾1
#ml #prod
🔺 ML System Design
Материалы по внешней стороне машинного обучения (за внутреннюю считаем research / исследования) — проектирование того, как это все будет работать, поддерживаться и обновляться (system design).
Тема важная и начать в нее погружаться можно из актуального курса Стэнфорда cs 329s (содержание курса). Все это похоже на системное программирование, только в контексте ML. Сами лекции в виде текста, есть слайды и пара ноутбуков. Лекции прикольные, можно читать как книжку. Сам курс не очень длинный, так что будут шансы пройти до конца 😁.
👉 Лекции и TLDR;
1️⃣ Отличия ML для продакшена. tldr; Данные — сырые и меняются во времени. Приоритеты — быстрый инференс, важна интерпретируемость. Много заказчиков и требований от них.
2️⃣ Основы проектирования. tldr; Понимаем проблему (нужен ли тут вообще ML?). Источники и формат данных. ETL (процессинг и хранение данных).
3️⃣ Тренировочные данные. tldr; Тут довольно понятная тема — что делать с сырыми данными, как собрать из них хороший датасет, нехватка разметки, active learning и т.д.
4️⃣ Feature Engineering. tldr; Данные есть, как будем подавать их в модель? Аугментации (делаем данные разнообразней), придумываем новые признаки. И внезапно про позиционные эмбеддинги.
5️⃣ Model Development. tldr; Six tips for model selection. Важная мысль — не надо сразу брать SOTA, топовый результат на статическом датасете не обязательно будет лучше для вас, начните с простого. kaggle хаки/подходы — bagging, boosting, stacking.
6️⃣ Распределенное обучение и оценка модели. tldr; Про обучение на кластере и виды параллелизма. Сделай бейзлайн (рандомный, эвристики, человеческий, готовые решения). Советы по оценке моделей.
7️⃣ Деплой модели. tldr; Онлайн / оффлайн предсказания. Оптимизация модели — дистилляция, прунинг, квантизация. ML в облаке.
8️⃣ Мониторинг и дрифт данных. tldr; Хьюстон, у нас дрифт данных. Про feedback loop. Различные виды дрифта (covariate, label, concept drifts). Observability — собирай метрики, чтобы понять, что пошло не так.
🔺 ML System Design
Материалы по внешней стороне машинного обучения (за внутреннюю считаем research / исследования) — проектирование того, как это все будет работать, поддерживаться и обновляться (system design).
Тема важная и начать в нее погружаться можно из актуального курса Стэнфорда cs 329s (содержание курса). Все это похоже на системное программирование, только в контексте ML. Сами лекции в виде текста, есть слайды и пара ноутбуков. Лекции прикольные, можно читать как книжку. Сам курс не очень длинный, так что будут шансы пройти до конца 😁.
👉 Лекции и TLDR;
1️⃣ Отличия ML для продакшена. tldr; Данные — сырые и меняются во времени. Приоритеты — быстрый инференс, важна интерпретируемость. Много заказчиков и требований от них.
2️⃣ Основы проектирования. tldr; Понимаем проблему (нужен ли тут вообще ML?). Источники и формат данных. ETL (процессинг и хранение данных).
3️⃣ Тренировочные данные. tldr; Тут довольно понятная тема — что делать с сырыми данными, как собрать из них хороший датасет, нехватка разметки, active learning и т.д.
4️⃣ Feature Engineering. tldr; Данные есть, как будем подавать их в модель? Аугментации (делаем данные разнообразней), придумываем новые признаки. И внезапно про позиционные эмбеддинги.
5️⃣ Model Development. tldr; Six tips for model selection. Важная мысль — не надо сразу брать SOTA, топовый результат на статическом датасете не обязательно будет лучше для вас, начните с простого. kaggle хаки/подходы — bagging, boosting, stacking.
6️⃣ Распределенное обучение и оценка модели. tldr; Про обучение на кластере и виды параллелизма. Сделай бейзлайн (рандомный, эвристики, человеческий, готовые решения). Советы по оценке моделей.
7️⃣ Деплой модели. tldr; Онлайн / оффлайн предсказания. Оптимизация модели — дистилляция, прунинг, квантизация. ML в облаке.
8️⃣ Мониторинг и дрифт данных. tldr; Хьюстон, у нас дрифт данных. Про feedback loop. Различные виды дрифта (covariate, label, concept drifts). Observability — собирай метрики, чтобы понять, что пошло не так.
🔥13👍9👏2⚡1
Сходил за компанию на выставку Banksy. Понравилась одна вещь — работа "Destroy capitalism".
Ну и решил сгенерировать пару картинок в Stable Diffusion. Чтобы картинки были похожи, зафиксировал удачный seed. Можете тоже порисовать тут или скачать веса с 🤗 huggingface.
Ну и решил сгенерировать пару картинок в Stable Diffusion. Чтобы картинки были похожи, зафиксировал удачный seed. Можете тоже порисовать тут или скачать веса с 🤗 huggingface.
👍7⚡3🔥3👏1
#nlp #event
⚡️ Интересное NLP событие сегодня. Валентин Малых расскажет про машинный перевод на семинаре AIRI.
В этом году вышло две статьи — NLLB от Meta (перевод на 200 языков + выложили модели) и Towards the Next 1000 от Google (перевод на 1000 языков — пока только показывают). Вот про них и поговорим.
⏰ сегодня в 17:00 в zoom
⚡️ Интересное NLP событие сегодня. Валентин Малых расскажет про машинный перевод на семинаре AIRI.
В этом году вышло две статьи — NLLB от Meta (перевод на 200 языков + выложили модели) и Towards the Next 1000 от Google (перевод на 1000 языков — пока только показывают). Вот про них и поговорим.
⏰ сегодня в 17:00 в zoom
👍6❤2🔥2
#nlp #meetup
📅 Сходил на ML тренировку (трансляция тут) послушать доклад про RuCoLa.
〰️ Что это?
Это первый датасет для проверки адекватности генеративных языковых моделей (для русского), аналог CoLa. Состоит из ~13k предложений, размеченных как приемлемое/неприемлемое.
По степени приемлемости делить не стали, сказали, что сложно. Зато над датасетом поработали в том числе и лингвисты, так что включены разные категории (грамматическая, смысловая и т.д.). Вещь полезная, многим пригодится.
👉 GitHub | Проект
〰️ Что это?
Это первый датасет для проверки адекватности генеративных языковых моделей (для русского), аналог CoLa. Состоит из ~13k предложений, размеченных как приемлемое/неприемлемое.
По степени приемлемости делить не стали, сказали, что сложно. Зато над датасетом поработали в том числе и лингвисты, так что включены разные категории (грамматическая, смысловая и т.д.). Вещь полезная, многим пригодится.
👉 GitHub | Проект
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥3⚡2
🔺 Woland-10
Сделал параллельный корпус на 10 языков (ru, be, uk, en, de, it, fr, es, hu, zh) из различных редакций романа Мастер и Маргарита. Всего получилось ~7.5k параллельных групп строк.
〰️ Выровнял при помощи своей выравнивалки Lingtrain (а это, напомню, проект открытый). Получилось довольно быстро, особенно с новой картой, — со своей GPU жизнь действительно заиграла новыми красками 😁
Сначала нашел и разметил 10 текстов на разных языках, потом выровнял каждую пару с оригиналом. Потом все выравнивания совместно. Могу описать подробней, если интересно.
Могут встречаться шероховатости, так как все равно надо дополнительно проверять качество, но в целом выглядит пристойно (если что — пишите), буду ещё улучшать.
@doomgrad
Сделал параллельный корпус на 10 языков (ru, be, uk, en, de, it, fr, es, hu, zh) из различных редакций романа Мастер и Маргарита. Всего получилось ~7.5k параллельных групп строк.
〰️ Выровнял при помощи своей выравнивалки Lingtrain (а это, напомню, проект открытый). Получилось довольно быстро, особенно с новой картой, — со своей GPU жизнь действительно заиграла новыми красками 😁
Сначала нашел и разметил 10 текстов на разных языках, потом выровнял каждую пару с оригиналом. Потом все выравнивания совместно. Могу описать подробней, если интересно.
Могут встречаться шероховатости, так как все равно надо дополнительно проверять качество, но в целом выглядит пристойно (если что — пишите), буду ещё улучшать.
🇷🇺 Вино какой страны предпочитаете в это время дня?👉 GitHub
🇧🇾 Вiно з якое краiны вы любiце ў гэтую пару дня?
🇺🇦 Вино якої країни вам більше до вподоби цієї пори дня?
🇬🇧 What country's wine do you prefer at this time of day?'
🇩🇪 Den Wein welches Landes bevorzugen Sie zu dieser Tageszeit?"
🇫🇷 Du vin de quel pays préférez-vous, à cette heure de la journée ?
🇮🇹 Il vino di quale paese preferisce a quest'ora del giorno?
🇪🇸 ¿De qué país lo prefiere a esta hora del día?
🇭🇺 Milyen bort szeret a legjobban ilyenkor déltájban?
🇨🇳 平常在这个时间您喜欢喝哪国产的葡萄酒?
@doomgrad
🔥28👍11❤5
#nlp #lecture
🚀 Третья лекция Карпати
Андрей выпустил следующее занятие о языковом моделировании и о сетках в целом. Как он сам говорит "Если вы не поймете моих объяснений, то я съем ботинок" 👞.
На пути к построению GPT-подобной модели мы уже рассмотрели статистические подходы, познакомились с pytorch и идеей backpropagation.
В этой лекции идем дальше и погружаемся в deep learning. Слушается легко, как и предыдущие лекции. Сейчас еще добавлю расшифровки лекций whisper'ом 👄.
👉 Материалы лекций | Видео | makemore
🚀 Третья лекция Карпати
Андрей выпустил следующее занятие о языковом моделировании и о сетках в целом. Как он сам говорит "Если вы не поймете моих объяснений, то я съем ботинок" 👞.
На пути к построению GPT-подобной модели мы уже рассмотрели статистические подходы, познакомились с pytorch и идеей backpropagation.
В этой лекции идем дальше и погружаемся в deep learning. Слушается легко, как и предыдущие лекции. Сейчас еще добавлю расшифровки лекций whisper'ом 👄.
👉 Материалы лекций | Видео | makemore
🔥6👍5❤1⚡1
Forwarded from Шрёдингер Кота (Dani El-Ayyass)
Друзья, всем привет) 👋
Вчера наткнулся на статью, опубликованную в одном из самых престижных журналов Nature, которая меня очень сильно удивила и впечатлила 🚀
С помощью обучения с подкреплением DeepMind открыли новый, более быстрый способ умножения матриц, одной из фундаментальных задач алгебры 🔥
Проблема нахождения более быстрого алгоритма была открытой 50 лет 🤯
Не хочу делать громких заявлений, но лично я считаю это огромным шагом (бОльшим даже для искусственного интеллекта, нежели для самой алгебры) и чуть ли не началом новой эры, так как появляется инструментарий для исследования других фундаментальных задач на предмет нахождения более эффективных алгоритмов 🛠
Интересно, стали ли мы ближе к решению вопроса о равенстве классов P и NP 🤔
Blog | Paper | GitHub
Вчера наткнулся на статью, опубликованную в одном из самых престижных журналов Nature, которая меня очень сильно удивила и впечатлила 🚀
С помощью обучения с подкреплением DeepMind открыли новый, более быстрый способ умножения матриц, одной из фундаментальных задач алгебры 🔥
Проблема нахождения более быстрого алгоритма была открытой 50 лет 🤯
Не хочу делать громких заявлений, но лично я считаю это огромным шагом (бОльшим даже для искусственного интеллекта, нежели для самой алгебры) и чуть ли не началом новой эры, так как появляется инструментарий для исследования других фундаментальных задач на предмет нахождения более эффективных алгоритмов 🛠
Интересно, стали ли мы ближе к решению вопроса о равенстве классов P и NP 🤔
Blog | Paper | GitHub
Nature
Discovering faster matrix multiplication algorithms with reinforcement learning
Nature - A reinforcement learning approach based on AlphaZero is used to discover efficient and provably correct algorithms for matrix multiplication, finding faster algorithms for a variety of...
🔥20👍8⚡3🤯1
🔺 Мультиязычное распознавание речи с Whisper
Наконец дошли руки до ASR модели whisper от OpenAI. Она, по заверениям авторов, умеет распознавать с 90+ языков (хотя только для 5-ти языков из всех данных было более 100 тыс. часов, русский в том числе).
〰️ Качество хорошее, хотя иногда может зацикливаться, так как модель авторегрессионная. Еще она умеет генерировать субтитры и определять язык, так что модель полезная.
Написал про это статью на хабр с примерами и нюансами использования. Транскрибировал несколько выпусков Своей игры и лекции Карпати для примера.
👉 Статья | whisper
Наконец дошли руки до ASR модели whisper от OpenAI. Она, по заверениям авторов, умеет распознавать с 90+ языков (хотя только для 5-ти языков из всех данных было более 100 тыс. часов, русский в том числе).
〰️ Качество хорошее, хотя иногда может зацикливаться, так как модель авторегрессионная. Еще она умеет генерировать субтитры и определять язык, так что модель полезная.
Написал про это статью на хабр с примерами и нюансами использования. Транскрибировал несколько выпусков Своей игры и лекции Карпати для примера.
👉 Статья | whisper
Хабр
Распознавание речи, генерация субтитров и изучение языков при помощи Whisper
Распознавание речи в действии ⚡ Градиент обреченный Есть ряд платных решений по переводу речи в текст (Automatic Speech Recognition). Сравнительно малыми усилиями можно сделать бесплатное...
🔥10👍7❤2⚡1🎉1
📸 Нейро-фотобудка
Попробовал натренировать Dreambooth на своих фотках в Colab'е (занимает минут 20).
〰️ Что это?
Это скрипт с дообучением Stable Diffusion модели на новых объектах. Можно обучить на изображениях любой вещи или человека. После этого сеть сможет генерировать похожие объекты в новом контексте ("вы как космический пират на Марсе").
〰️ Хочу так же
Если хотите повторить, то вот что нужно сделать:
1️⃣ Найти фото, можно взять 20-30 штук. Подготовить их, — объект должен быть по центру, примерно как фото на паспорт. Лучше, чтобы был разный фон и вид с разных углов. Потом привести их к размеру 512 на 512, это можно быстро сделать здесь.
2️⃣ Положить фото к себе на Google Drive в любую папку.
3️⃣ Открыть Colab. Там нужно последовательно запускать ячейки. В одной из них понадобится ввести токен с 🤗huggingface. Для этого нужно там зарегаться и взять токен. В графе Instance Dir нужно указать путь к вашим файликам на Google Drive.
4️⃣ После дообучения можно будет генерировать подобный арт. Чекпоинт с моделью можно сохранить на будущее.
Счастливого рисования!
Попробовал натренировать Dreambooth на своих фотках в Colab'е (занимает минут 20).
〰️ Что это?
Это скрипт с дообучением Stable Diffusion модели на новых объектах. Можно обучить на изображениях любой вещи или человека. После этого сеть сможет генерировать похожие объекты в новом контексте ("вы как космический пират на Марсе").
〰️ Хочу так же
Если хотите повторить, то вот что нужно сделать:
1️⃣ Найти фото, можно взять 20-30 штук. Подготовить их, — объект должен быть по центру, примерно как фото на паспорт. Лучше, чтобы был разный фон и вид с разных углов. Потом привести их к размеру 512 на 512, это можно быстро сделать здесь.
2️⃣ Положить фото к себе на Google Drive в любую папку.
3️⃣ Открыть Colab. Там нужно последовательно запускать ячейки. В одной из них понадобится ввести токен с 🤗huggingface. Для этого нужно там зарегаться и взять токен. В графе Instance Dir нужно указать путь к вашим файликам на Google Drive.
4️⃣ После дообучения можно будет генерировать подобный арт. Чекпоинт с моделью можно сохранить на будущее.
Счастливого рисования!
🔥37👍5😁3