Введение в искусственный интеллект
331 subscribers
63 photos
2 videos
170 links
Просто об искусственном интеллекте и его возможностях. Помогу разобраться в базовых понятиях и создать собственную нейросеть. Рассказываю, что у ИИ под кожей.
Елена Михалькова
Download Telegram
Что такое языковая модель? 🎁

Ну, во-первых, это тема моего секретного поста ;) Анбоксинг состоялся, уиии! Такую тему я выбрала, потому что апрельский номер будет во многом посвящен языковым моделям. Раз уж они все ещё из каждого утюга, то чем мой блог не утюг?
А, во-вторых, это алгоритм, который:
1⃣ умеет рассчитывать вероятность появления каждого слова в тексте,
2⃣ умеет на основе этой вероятности предсказывать продолжение текста.
Вот этих двух связанных причинно-следственной связью операций достаточно, чтобы генерировать произведения а-ля Пушкин, отвечать на реплику человека как человек, разбираться в данных, писать код, ставить диагноз. На заре появления маленькие языковые модели были что-то вроде игрушки: “смотрите-ка какую дичь нагенерил наш несмышленыш!” Но потом, пройдя через нейронки, word2vec, мультитаски и трансформеры, языковые модели превратились из маленького котеночка 🐱 в большого и страшного льва 🦁.
Принцип работы языковой модели. Если я вам скажу “Чето есть хочется. Пойдем в…”, то вы, скорее всего, мысленно достроите продолжение: кафе, столовую, магаз и т.п. Потому что это самое типичное продолжение ситуации, которую я задала в своей реплике. Как машине узнать это типичное продолжение? Надо собрать много-много текстов, разбить их на последовательности из двух, трёх, а, может, даже четырех слов, “откусить” последнее слово и рассчитать, как часто оно появляется после предыдущих слов. В примере выше: нужно посчитать, как часто кафе, столовая и магаз появляются после “есть хочется . Пойдем в”. При этом можно убирать из текстов какие-то “шумные” слова типа предлога в и знаки пунктуации. Затем получаем от пользователя какую-то реплику типа “Чето есть хочется”, и наша модель уже сама может сказать “Пойдем в кафе”. Я вот, кстати, в ЖизньМарт зачастила - и это щас не нативная реклама. Как всегда вот вам ноутбучек с кодом: “Поговори с языковой моделью”.
Такая простая модель, как я описала выше, называется частотная. А вот те модели, которые превратились во льва, называются большими: Large Language Models, LLM. Сейчас в тренде именно LLM - даже в ресече. Что на мой взгляд плохо. Во-первых, большую модель дома не создать. Нужны мощности. Какие? Читайте в нашем апрельском номере. Хотя готовые модели есть в открытом доступе, исследователи ограничены решениями, которые создали в индустрии или больших лабораториях. Во-вторых, у учёных нет единого мнения, что считать большой моделью. Недавно я рецензировала статью для Ассоциации компьютерной лингвистики. В ней авторы используют языковую модель BERT. А им прилетает претензия: чё это вы BERT, а не LLM используете? То есть под LLM теперь иногда понимают только большие коммерческие модели типа ChatGPT. В-третьих, если вы в принципе сделали исследование не по генерации, то вам может прилететь претензия - эээ, где LLM? Я с этим столкнулась в другой статье, которую рецензировала: первая половина статьи - изучение лингвистических особенностей авторской речи, вторая - тестирование LLM. Пишу авторам: зачем LLM? Они отвечают: нам так предыдущие рецензенты сказали. То есть это теперь такой экзамен у комьюнити: если ты тру компьютерный лингвист, то покажи, как ты LLM крутить умеешь. Но, знаете, если бы мир был совершен и не было бы таких перекосов, то о чем бы я сейчас вела свой холивар? Ну и, конечно, оставайтесь с нами: мы вас научим крутить LLMами.🌪

ПС. Вторая “Дюна” божественна! Это тоже не реклама.

#база #notebook
7💅1🦄1
Как правильно чистить текстовые данные

Первый этап в анализе любых данных называется предобработка, или препроцессинг. Сначала надо проверить, что полученные данные соответствуют тому, что вы рассчитывали получить. А если у вас изначально не было представления о том, что вы получите (например, вы просто распарсили много-много сайтов), то надо понять, какие данные брать в дальнейший анализ и как их к нему подготовить. Это тем более актуально в случае, если наши данные - это текст, живая речь, продукт коммуникации. В речи мы много креативим, используем собственный стиль, подаем информацию линейно, в процессе общения выбирая, что сказать дальше. Такие данные называются неструктурированными. В компьютерной лингвистике есть набор лайфхаков для препроцессинга:
🕸 перевод в нижний регистр
🕸 удаление пунктуационных символов
🕸 удаление стоп-слов (это часто встречающиеся слова, которые несут в основном грамматическую информацию - предлоги, союзы, местоимения и т.п.)
🕸 чистка повторяющихся пробелов
🕸 перевод ё в е (деЁфикация)
🕸 стемминг и некоторые другие.
Самое важное, что, по моему мнению, нужно помнить, чистя данные: с водой можно выплеснуть полезные фичи, которые потом окажутся необходимы следующим алгоритмам, примененным к текстам. Например, верхний регистр указывает на имена собственные и на начало предложения или строки в поэтическом тексте, а также на тональность: капсом можно на кого-то НАКРИЧАТЬ.
Я тут прочитала, что все блогеры советуют в тг писать как можно короче 😅 Поэтому сегодня отмахиваюсь от создания неструктурированной пасты... барабанная дробь... ноутбучеком с кодом: тут основные лайфхаки с примерами.
Как говорится, keep clear! И держите свои данные в чистоте! 🌊

#notebook #лайфхакИИ
8🔥2
Большая языковая модель - это сколько? И в чем измерять?

Напомню, что языковая модель - это такая программа, которая предсказывает самое вероятное следующее слово в тексте и на этом основании может дописать любой текст, включая ответную реплику. То есть диалог с ботом - это по сути дописывание реплики пользователя самым вероятным ответом до тех пор, пока самым вероятным следующим словом станет что-то типа “стоп, останавливаемся, хватит дописывать”. Маленькая языковая модель может обучиться говорению даже на паре предложений. Ограничений нет. Словарь Эллочки-людоедки включал 30 слов - этого хватило, чтобы стать персонажем “Двенадцати стульев”. Но на слуху в последнее время большие языковые модели, которые, кажется, вобрали в себя все мировое знание.

Так сколько же слов они знают? Сюрприз-сюрприз, многие из них не общаются словами, поэтому - нисколько. Иначе говоря, столько, сколько в принципе смогут сгенерить. Причем гипотетически могут нагенерить даже такие слова, которых мы еще не придумали. Представим ситуацию. Вот забыли мы слово “аэропорт” и начинаем его как бы припоминать. Сначала вспомнили, что слово начинается на “а”, добавляем “эро”, наконец вспомнили “порт”. А могли вместо “порта” добавить “космический”. Модель, как человек, как бы припоминает слова по сочетаниям букв. Тем не менее в некоторых моделях указан размер словаря, например, в DistilBERT 30522 слова, точнее, токена. Но речь, скорее всего, идет именно о лексических токенах - словах в разной форме.

В целом, мое внутреннее ощущение, что модели знают обычно несколько десятков тысяч слов, если это язык не малоресурсный. То есть для этого языка есть достаточно большой корпус текстов. Создатели ChatGPT не раскрывают, на чем она обучалась, но многие исследователи уверены, что в обучающем наборе точно был Common Crawl (кОмон крол) - самый большой в мире открытый корпус из 250 миллиардов (!) страниц контента на 160 языках. Более 40% текстов, конечно, на английском, но затем идут немецкий и русский языки (более 5.5%). Кстати, большие языковые модели часто являются мультилингвальными, т.е. могут говорить на нескольких языках одновременно.

Но самое большое число в языковых моделях - это не слова, токены и размер корпусов, а количество так называемых параметров обучения. Параметры - это фичи, признаки. В word2vec обычно 300 параметров (правда, это не совсем такие же параметры, как у больших языковых моделей). В GPT-4, по некоторым оценкам, 100 триллионов параметров. На этом фоне модели с всего лишь парой миллиардов параметров уже не всегда называются большими. Правда, слово “средние” за ними тоже пока не закрепилось. Но больше здесь не означает лучше. Некоторые модели после уменьшения параметров оказались более успешными, например, у ALBERT’а 12 миллионов параметров, а его предшественника, BERT’a, 108 млн. Есть даже такой тренд в исследованиях: взять из модели дистиллят из лучших параметров так, чтобы она не потеряла в эффективности.

#база
👍5🔥1
Создаем собственное веб-приложение

Вчера мне мой смартфон Pixel порекомендовал прочитать вот этот пост на Хабре. Это перевод статьи ИТ-эксперта Чип Хуэн. Статья в целом мне показалась очень познавательной, но вот что зацепило больше всего, так это то, что скоро, цитирую, “мы увидим множество дорогих компаний, состоящих из одного человека”. То есть в современной ИТ-реальности есть, по крайней мере, инфраструктурные возможности создать приложение, которое принесет его автору миллион, а может и миллиард. Это примерно как написать песню “Cadillac” или “Cristal & МОЁТ”.
Что вам понадобится, чтобы создать приложение с ИИ (согласно той же статье):
💻 Инфраструктура - компухтер, ну или хотя бы планшет с выходом в Интернет и установленными инструментами для разработки.
📊 Моделька и датасет - алгоритм, обученный выполнять какую-то экспертную задачу, например, отвечать на вопросы. Обычно это делается на данных, специально размеченных для данной задачи. Например, чтобы определять номера машин, нужен датасет фотографий чисел.
📱Веб-оболочка для вашего приложения: сайт, бот в мессенджере, устанавливаемое приложение на телефон.
Сервер и инструменты запуска и поддержки приложения, чтобы оно было доступно пользователю 24/7.
Я решила порекомендовать в этом посте некоторые инструменты, которыми пользуюсь сама. = сложность в освоении и запуске (мое ИМХО). 💰 = есть платные версии с расширенным функционалом.
💰 Aimylogic - лучший зеро-код инструмент для ботов. Легкий, интуитивно понятный, допускает сложные штуки, если захотите, например JavaScript. Прям в нем можно запустить бота вконтакт, в тг и даже настроить обзвон.
💰 JAICP - платформа для создания ботов на языке Scala. Это уже уровень более сложный, чем зеро-код. Помогает понять проблемы разработчиков ботов и компьютерных лингвистов.
Telebot - самый легкий способ создать Питонового бота в телегрэм.
Фреймворк Aiogram - крутейшая Питоновая библиотека для запуска ботов в телеграмме. Можно делать очень сложные проекты.
WebApps в Телеграмме - инструмент, чтобы создать свое приложение прямо в тг. В тьюториале предлагается вариант на Java.
Django - старый-добрый фреймворк для разработки приложений на Питоне.
💰 Python Anywhere - хостинг приложух на Питоне. Инструкция, как устанавливать, здесь.
💰 Render - тоже хостинг, но подходит для любых приложений. Вот здесь наша со студентами инструкция, как захостить приложение.
Всем бабла 🤑 добра и креативных приложений!

#спискии
9🔥2
Ребята, очень рекомендую маги ПИШа, если а. вам не опостылела нефтянка, б. вы хотите в нефтянке трудоустроиться через магистратуру. Обратите внимание на экзамены - там может быть нужен инглиш. Есть время подтянуть до старта приемной кампании.
Присоединяйся к поколению новых инженеров😎

ПИШ ТюмГУ приглашает будущих магистрантов на День открытых дверей

🔹Узнаем, как стать высококлассным специалистом в нефтегазовой отрасли
🔹Обсудим перспективы трудоустройства и возможности карьерного роста
🔹Поговорим о правилах поступления и об организации учебного процесса

Регистрация по ссылке
2
Hugging Face - место, где обитают большие языковые модели

Один мой коллега как-то сказал: “Ну, сегодня языковую модель может любая девочка из MTS AI обучить”. Я сначала подумала, неужели он не знает, что в современных LLM (large language models - больших языковых моделях) миллиарды, а то и триллионы параметров? Чтобы обработать таблицу из пары сотен миллионов параметров, понадобится 300 гигов оперативы. Или кластер из десятка NVIDIA видеокарт (если что, это такие очень дорогие железки). А вот этот блог говорит уже о сотнях или даже тысячах видеокарт. По стоимости просто одно обучение такой модели, как LLaMa обойдется в 760 000 $.
А потом я наткнулась на вот такой тьюториал. Оказывается, в Google Colab, если вам удастся переключить свой ноутбук на TPU (тензорный процессор специально для машин лернинга), то приложение выделит вам как раз примерно 300 Гб оперативной памяти, и вы сможете реально небольшую большую языковую модель обучить. Да, она будет маленькая. Но, если вы это делаете для малоресурсного языка, как, например, создатели модели выше для Эсперанто, то и ок. Единственное, в их коде, запущенном в колабе, вылезает какая-то проблема совместимости версий некоторых библиотек - я ее попробую пофиксить и скину сюда. Либо вы сами, если разбираетесь в pytorch и вдруг да пофиксите, поделитесь ноутбучеком плиз.
Другой вариант - можно дообучить уже существующую модель на какую-то свою задачу. Но это не так почётно в мире LLM 😎
А все обученные и дообученные модели попадают… Правильно, на Hugging Face. Кроме коммерческих моделей, которые доступны только как бот или приложение, присылающее вам только ответ модели. Hugging Face - это а) компания, которая создала и поддерживает эту платформу, б) разработчик питоновой библиотеки Transformers, в которой можно загружать модели и решать с их помощью NLP задачи, в) платформа, где лежат модели, датасеты и очень много понятных и полезных тьюториалов. Так что, даже если вы знаете только самые основы Питона, берите код из тьюториалов, выбирайте модель, кормите ей свои данные и наслаждайтесь магией синтетического интеллекта. А если вы уже продвинутый юзер, то вам по зубам оказаться среди создателей моделей. Я, например, нашла много моделей для русского языка от разработчика по имени Илья Гусев. Видимо, в одиночку работает, но, как я поняла, проведя маленькое журналистское расследование, не в MTS AI 😊

#база #notebook (не мой 😇)
7👍1🔥1
Пора менять зимнюю аватарку на весеннюю 🌱
🔥125👀2
Формат CoNLL-U для морфологического и синтаксического парсинга

Бывают деревья. А бывают синтаксические деревья (см. подробности в посте https://t.me/freeAIintro/180). Treebanks (трибЭнкс) - это и способ моделирования связи между словами в предложении, и коллекция размеченных данных. Как носители языка, синтаксис и морфологию мы ощущаем интуитивно, выучиваем вместе с языком. Но, чтобы их начала понимать машина, пришлось создать модель и разметить на основе этой модели достаточно большой датасет.
Достаточно большой для чего? Чтобы современные нейросети для синтаксического парсинга справлялись с разметкой на более, чем 90%. То же самое с морфологией. Для английского state-of-the-art (SOTA - мировой уровень решения задачи) результат вот такой: fscore=96.38. Причем алгоритмы делают это вжух! как быстро. Без разметки производительность алгоритмов падает до fscore~60-70.
Что за разметка и что за датасет такой? В 2000-е в Университете Стенфорда возник проект: Stanford Dependencies (стЕнфорд депЕнденсиз, Стэнфордские зависимости). Цель проекта была разметить основные характеристики синтаксиса и морфологии: части речи и некоторые их формы, а также пары слов и словосочетаний, связанные друг с другом синтаксической связью. Концептуальной основой такой разметки стала так называемая лексико-функциональная грамматика (Lexical functional grammar). Разметка оказалась полезной для многих задач NLP, таких как извлечение фактов, именованных сущностей, разрешение анафоры. Проект вышел за рамки университета и стал называться Universal Dependencies (юнивЕсал депЕнденсиз, универсальные зависимости). И в рамках уже этого большого проекта была принята универсальная система разметки: CoNLLU (кэ эн эл эл ю) формат. Формат включает универсальные теги для:
🦩 частей речи,
🐸 дополнительных лексических и грамматических свойств,
🦔 синтаксических отношений (Universal Dependency Relations), например, nsubj - номинативное подлежащее.
Сегодня размечены уже 104 языка. Растет интерес к разметке древних, малоресурсных, искусственных языков (например, эсперанто).
Ну и как всегда ноутбучек с примером.

#база #notebook
🔥2
Пример трибанка для арабского языка.
2😱2
IP - intellectual property (интеллектуальная собственность)
Forwarded from Deep IP
Всем привет!

Мы возобновляем активность канала и возвращаемся в эфир с новостями ⤵️

26-го апреля в 17:00 в международный день интеллектуальной собственности мы проведем лекцию, посвященную IP для всех, чья работа связана с исследованиями и созданием новых технологических решений.

Ведущий специалист отдела юридического сопровождения AIRI, патентный поверенный РФ Вита Власова расскажет теоретические и практические вопросы, связанные с интеллектуальной собственностью, а также:

– переведём с «юридического» на простой понятный язык основные определения и законы в области интеллектуальной собственности
– расскажем о наиболее часто встречающихся ошибках авторов и организаций при работе с интеллектуальной собственностью
– обсудим особенности правовой охраны IT решений, в том числе в области искусственного интеллекта
– постараемся ответить на все ваши актуальные вопросы по теме.

Лекция пройдет в офисе Института AIRI в Сити, зарегистрироваться можно по ссылке. Также планируем онлайн-трансляцию, ссылку на нее пришлем ближе к мероприятию 📎
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Sora

Тут новая новость: вышел музыкальный клип, полностью сгенеренный нейросетью Sora.
Авторы отмечают, что почти не использовали пост-эдитинг (post-editing). То есть вручную не редактировали сгенерированные видео. Только кое-где нарезали кусочки и составили вместе. Я посмотрела, каэш, клипец. Не сказать, чтобы там все гладко. Похоже на очень яркий сон или какой-то сюрный мульт типа “В синем море, в белой пене”. Но, конечно, есть атмосфера, вайбы. Вспоминается, как исчезла в привычном понимании профессия переводчика, благодаря Google Translate. Году примерно к 2010 остались ровно столько переводчиков, чтобы делать хороший пост-эдитинг или уметь вертолет починять в Африке, если вдруг от вас понадобится не только перевод с английского, французского или суахили.
Sora - это модель типа “текст-в-картинку” (text-to-image) (точнее уже в видео) на основе более раннего продукта OpenAI под названием Dalle. Нейронная архитектура модели называется diffusion (дифьЮжн, диффузия / диффузионная). Сначала по текстовому запросу модель генерирует много случайных пикселей, а потом denoises (денОйзез, обесшумливает) их. То есть оставляет “хорошие” пиксели и убирает “плохие”. Затем на месте плохих генерятся новые пиксели и снова оценивается результат. Повторяем, пока новая генерация не будет оценена как “ничем не лучше предыдущей”. В механизме денойзинга используется визуальный трансформер (vision transformer, вижн трансфОмэ). Это как для NLP, только матрица эмбеддингов строится для пикселей, а не для токенов. Весь процесс называется sampling (сЭмплинг, сэмплирование). Разные сэмплеры дают разный эффект на итоговом изображении. Особенностью Sora является способность генерить детали и перемены, например, в эмоциях, а также делать гладкие переходы между сценами. Но модель, конечно, не лишена глюков. Если раньше у моделей “текст-в-картинку” были траблы с количеством пальцев, то теперь при ходьбе периодически путаются ноги. Другие артефакты (свидетельства сгенеренности картинки) тоже попадаются. Например, у поезда на среднем плане пропадают щели между вагонами. Ну и поговаривают, что генерация оооочень долгая.
Модель пока доступна только по инвайтам в режиме тестирования.

#база #эссеиистика
8❤‍🔥1
Экологические последствия бума искусственного интеллекта

В 2020 г. пандемия COVID-19 привела к форсу одного интересного факта: некоторые языки программирования менее экологичные. А какой же самый неэкологичный? Ну, конечно, Питон. Иначе зачем бы я писала об этом целый пост.
Хочу повиниться, я создала фактоид. Я люблю рассказывать одну, как оказалось, байку про то, что ученые исследовали энергозатраты на одной из айтишных конференций и пришли к выводу, что во время конференции эти энергозатраты в месте, где она проводилась, очень сильно выросли. На самом деле, все (не все), конечно (наверное), было (или не было) не совсем так (совсем не так). Недавно Ксения Собчак в своем блоге пожаловалась, что нынче толком и нельзя высказаться ни по какому вопросу.
А что же было-то? В 2019 году на конференции Европейского Астрономического Общества (European Astronomical Society) ученые сделали опрос, кто как добрался до конференции, и посчитали, что затраты примерно равны 1,855 tCO2e (тонн (t) в углеродном (CO2) эквиваленте (e)), что равно выбросам одного среднего размера астрономического института, например, Max Planck Institute for Astronomy (MPIA) в Гейдельберге. В 2020 конференция была онлайн, и на нее потребовалось в 3 раза меньше выбросов. Но тут ученых привлек еще один вопрос экологии: сколько выбросов приходится на астрономические расчеты на разных языках программирования? Оказалось, что время на обработку запроса (time-to-solution, тайм ту солЮшн) в отношении к тому, сколько будет потрачено энергии, выше всех у Питона. Основной причиной называют то, что Питон - язык интерпретируемый. То есть, прежде чем выполнять программу, написанную на Питоне, ее нужно “интерпретировать” - перевести на промежуточный язык в отдельной программе - интерпретаторе. У Питона это CPython, написанный на языке программирования C. С одной стороны, это удобно для разработки, т.к. интерпретатор считывает код построчно. И вы можете, вместо выполнения всего скрипта, поделить его на части, как в Google Collaboratory, и выполнять программу по частям. С другой стороны, Питон очень медленный и требует много оперативной памяти. Одним из самых экологичных при этом оказался язык C++. А потом эту статью изложили на Хабре, откуда я и сделала заключение, что речь шла именно о расчете энергозатрат во время пребывания учёных на конференции.
При этом есть и ещё более раннее исследование экологичности разных языков программирования. В статье “Energy efficiency across programming languages” ещё в 2017 г. авторы обнаружили, что Питон - один из самых неэкологичных. В научпоп статье “Python is destroying the planet” (Питон уничтожает планету) с портала Medium (2023 г., ссылка откроется только с VPN) утверждается, что на Питон приходится 17.5% энергозатрат всех языков программирования. Библиотека CodeCarbon рассчитывает углеродный след вашего компьютинга. Это не для того, чтобы себя осуждать, а чтобы оптимизировать код 😇 Питон все ещё остаётся очень удобным и интуитивно понятным, на нем написано огромное количество библиотек для датасаенса, для него есть множество бесплатных курсов и тьюториалов, платформ для тестирования кода и запуска приложений. Так что, с моей точки зрения, он ещё долго останется таким популярным и причина отказаться от него полностью из-за неэкологичности не слишком весомая. Попробовать снизить энергозатраты за счёт повышения эффективности кода - это возможно.

#эссеиистика #байкиизсклепа
8👍1
Дорогие подпИИсчики! Го? 💃🕺 Я там тоже буду - кормить комариков (главное, что не медведей 🐼) и читать лекцию про чат-гпт и прочих отбирателей рабочих мест у кожаных мешков.
Только сначала вам нужно достичь 18 лет и пройти отборочное испытание. Подать заявку нужно до 20 мая включительно. Затем нужно будет решить задание и пройти собеседование.

#ниипетпроект
1
Поехали кодить в лес?
Приглашаем принять участие в работе Мастерской анализа текстовых данных на «Летней школе» с 5 по 20 июля

Интересуешься NLP, анализом текстовых данных и машинным обучением, но не знаешь, с чего начать? Начни с нашей мастерской!
У нас ты получишь две недели весёлого и интенсивного изучения методов обработки естественного языка, сможешь послушать интересные лекции про все те многочисленные подходы, которые применяют NLP-специалисты, найти единомышленников, и всё это – на турбазе в Тверской области.

Программа:
- Основы предобработки текста;
- Предпосылки компьютерной лингвистики;
- Классификация и кластеризация текстов;
- Дистрибутивная семантика и эмбеддинги;
- Языковые модели;
- BERT и трансформеры;
- Нейросети;
- Ансамблевые методы машинного обучения;
- Извлечение именованных сущностей;
- Диалоговые системы;
- Немного матстата и тервера;
- Визуализация данных;
- Хакатон на партнёрских данных.

Сроки отбора:
- 17 апреля – 20 мая: подача заявок
- 22 апреля – 25 мая: решение отборочных заданий
- 25 мая – 30 мая: собеседование
- 1 июня: финальные списки участников

Требования к участникам:
- Строго 18+;
- Базовые знания Python и тервера+матстата;
- Интерес к лингвистике, NLP и машинному обучению;
- Умение жить на природе и работать в команде.

У нас вы научитесь:
- грамотно работать с данными;
- строить пайплайны для решения задач NLP;
- работать с алгоритмами и моделями машинного обучения;
- красиво и доступно представлять данные и результаты анализа;
- применять полученные знания на реальных данных.

Контакты:
https://letnyayashkola.org/nlp/ - наш сайт
https://t.me/ml2024news - наш телеграм-канал
nlp@letnyayashkola.org – наша почта
Морфологический разбор с UDPipe

В Карловом университете в Праге есть физико-математический факультет, в котором есть Институт формальной и прикладной… лингвистики - ÚFAL. На официальной GitHub странице Института 219 репозиториев (ИМХО, вот так должен выглядеть репозиторий здорового института комп. лингвистики), один из которых - библиотека UDPipe, написанная в основном на языке C++, но поддерживающая, среди прочего, и Python. Чем она известна? Это популярная библиотека для файлов в формате CoNLL-U, которая позволяет делать морфологический и синтаксический разбор. О формате мы писали тут.
Как сделать морфологический разбор с UDPipe? Тут надо бы ответить сначала: а зачем вообще делать морфологический разбор? Самая частая задача - это поиск ключевых слов, который является основным шагом, например, в определении темы текста. И, конечно, определение именованных сущностей (named entities, неймд Энтитиз) - имен, географических названий, организаций. Эти задачи обычно ведут к более сложным, вроде кластеризации документов или выявлению всех упоминаний конкретной персоналии в массиве текста (хм, зачем бы кому-то искать такие упоминания? 😈) или определению авторства.
А почему UDPipe, а не NLTK, например? Есть много NLP-tools, друг Горацио, что и не снилось нашим мудрецам… И среди них UDPipe отличается тем, что: а) его разработчики его обновляют, улучшают (например, к выходу готовится UDPipe 3), б) они же участвуют в разных NLP-events (мероприятиях), на которых показывают, что инструмент эффективен, в) инструмент довольно простой и поддерживает много языков, г) т.к. инструмент привязан к CONLL-U, для него есть много готовых данных.
Так как же сделать морфологический разбор с UDPipe? Прожмякать мой ноутбук, конечно. Там в комментариях есть подробности, что может UDPipe.

#база #notebook
👍31
Генерируем прозу
..Возобновляю публикационную активность..

Всем известная ChatGPT - это так называемая большая языковая модель, БЯМ (large language model, LLM). О том, что такое языковая модель, я писала тут; что считать большой моделью - тут. По сути, языковые модели умеют делать всего одну вещь: генерировать последовательность символов, которая продолжает заданную человеком строку (промпт). Даже конец ответа - это сгенеренный токен, после которого модель уже ничего не может добавить. Правда, такое есть не во всех моделях.
Тексты бывают разные, поэтому у БЯМов есть множество применений:
Сочинение эссе, курсовых и дипломных работ
👩‍⚕ Постановка медицинского диагноза (тоже по сути текст-экспертное заключение)
🧮 Решение математического уравнения
💻 Разработка кода программы
🚀 Обучение вас ракетостроению (rocket science) или иностранному языку
И более частные лингвистические задачи, вроде нахождения грамматических ошибок в тексте, определения тональности отзыва или выявления идиом.
Ну что ж, давайте погенерим. Т.к. ChatGPT недоступна в России, то попробуем обойтись без нее. Хотя, конечно, есть обходные пути и для общения с ChatGPT.
Я общаюсь с БЯМами на Чат-бот арене. Это платформа, на которой пользователи отправляют моделям промпт и оценивают, какая из них дала более удачный ответ. На основании этих оценок строится рейтинг моделей. Сейчас, конечно, в рейтинге лидирует GPT-4o, но прямо в затылок ей дышит Gemini от Google. Заходите на арену и, если не хотите общаться со случайной моделью, выбирайте в Direct Chat ту, которая вам больше по душе. Там нет самых сильных моделей, например GPT-4o. Но зато есть неизвестная модель под названием “im-a-good-gpt2-chatbot”, о которой говорят, что она может быть ранней версией GPT-4o. Русский они хорошо знают, но на вход принимают и генерят только печатный текст.
Не так давно в общем доступе появилась YandexGPT. На платформе Yandex Cloud можно протестировать генератор текста и изображений. В промпт-режиме модель можно настроить на какую-то более конкретную задачу, например, создание упражнений по изучению иностранного языка (правда, придется разобраться с документацией). Потребуется авторизация с Яндекс почтой.
Еще один отечественный генератор - GigaChat от Сбера. Тоже генерирует текст и картинки. Даже открытки на Троицу для Вайбера может. Еще не так давно они добавили создание медитаций: там помимо усыпляющего текста есть приятный усыпляющий музыкальный мотив. В целом мне зашло. Тоже нужно авторизоваться со Сбер ID.
Ну и если вы хотите испытать боль разработчика языковых моделей, то вот же он… ноутбучек с кодом библиотеки transformers. Зацените мега-странный текст, который мне сгенерила модель rugpt3large_based_on_gpt2 от AI Forever (группы людей, многие из которых очень похожи фамилиями на бывших и настоящих работников Сбера). Пока что это лучший генератор для русского языка, который мне удалось запустить через transformers
🤷‍♀️ Кстати, код для ноутбука мне помогла написать Gemini 🤗

#база #notebook #спискии
👍9
Я там 👇 тоже буду - читать лекцию "Как меняется образование с появлением ChatGPT?" (18 июня) 👩‍🎓 versus 👾

Анонс моей лекции. Большие языковые модели (среди них ChatGPT, наверно, самая известная) автоматизируют много интеллектуальных задач, которые, как могло казаться раньше, под силу только очень сложным программам будущего. Сегодня ChatGPT пишет текст на заданную тему в нужном жанре, решает математические задачи, делает грамматический и фонетический разбор и даже способна обучать вас ракетостроению. Профессия учителя и преподавателя под угрозой? Давайте вместе посмотрим на некоторые практики внедрения больших языковых моделей в образовательный процесс, которые возникли по всему миру, и попробуем прочертить тренды. Решать, что изменится в образовании, все равно в конечном итоге будет человек.
🔥4👍1