Записки NLPшника
172 subscribers
63 photos
7 files
116 links
Еще один канал заметок, выжимок статей и прочих радостей про NLP и данные.
Download Telegram
Кринж недели.

Написал я значит маленький класс, чтобы шаблоны для затравок делать. Первое, что пришло в голову для основы — Jinja. Это почтенная либа шаблонов, которую используют для генерации страниц сайтов и документации. Думаю, не мне первому пришла идея использовать ее для затравок.

Класс работает безотказно как лом. Мне нужно-то всего уметь хранить отдельные части затравки, типа примеров и описания классов, и по команде собирать это в единый текст.

Дошел я в своих экспериментах до техники агрегации затравок. Это когда мы модель спрашиваем одну и ту же задачу разными затравками. За счет случайности процесса, получаем разные «точки зрения». Получается эдакий ансамбль по-бямски.

Идея реализации такая: сделать объект моего класса для затравки, сделать копии и каждую копию уже как-то изменить. Как раз части хранятся отдельно. Затем все по очереди инференсится. Что могло пойти не так?

Ответ убил: при попытке сделать deepcopy от объекта класса вываливается ошибка
TypeError: __new__() missing 1 required positional argument: 'source'

Я сначала даже не поверил сразу. Вы просто представьте, насколько это обескураживающе выглядит: ты спотыкаешься не на том, что у тебя БЯМ выводит какую-то фигню, а на простом копировании объекта. Еще больше балдеешь от того, что ишью эта висит в репе с 2017 года, Карл! Человек, который ишью создал, приложил костыль, который сработал и у меня. Хвала Опенсорсу.

Самое смешное, что дальше идет коммент от мейнтейнера, который "not sure there was ever an expectation that templates could be deep copied". Может, он знает чего-то, что не знаю я, но я не вижу ни одной причины, почему я НЕ должен ожидать, что любой питонячий объект может быть скопирован.

Мое лицо в этот период выглядело так:
🙈2
This media is not supported in your browser
VIEW IN TELEGRAM
1
Как-то я писал, что в институте делаем эксперименты по переводу датасета с помощью БЯМ. В апреле опубликовали статью, теперь, наконец, руки дошли написать пост на великом-могучем.

Я мечтал перевести этот датасет на русский пять лет, чтоб вы понимали.
🔥4
Случайно нашел свежую статью, где выясняли, какой лучше брать энкодер для BERTScore для русского языка. В среднем по больнице таким энкодером оказался google/byt5-large среди 16 моделей (ruBERT только почему-то нет). Выясняли с помощью LLM-as-a-judge на материале 6 датасетов.

BERTScore — метрика качества сгенерированных текстов на ряду с BLEU, ROUGE и т.д. Догадайтесь сами на чем она основана)
👍2
Ситуация. У вас в инфраструктуре есть инференсер БЯМ, который работает как часы: вы ему адрес модели в HF, а он вам эндпоинт. Живете себе и горя не знаете. Но вот инфру обновили и ваш часовой механизм ломается. Вместо предиктов БЯМ вам возвращается ошибка 404.

Что я попытался сделать:
1) Перезапустил эндпоинт, потому что сразу после обновы я попросил коллегу его поднять. У нее всё работало. Я заподозрил, что как-то изменилась политика прав доступа, и эндпоинты, развернутые другим пользователем, перестали быть видимыми для других.
2) Изменил имя эндпоинта на такое, которое никогда не использовалось, потому что я думал, что известное имя может конфликтовать каким-то образом.
3) Перепроверил настройки инференсера — появилось много новых.
4) Перепроверил тысячу раз путь.

Мне неизменно возвращалась ошибка 404.

Потратив два часа, я сдался. Позвонил коллеге, у которой все заработало, с намерением попросить ее прогнать данные через БЯМ, т. к. сроки горели. В разговоре она мельком упомянула, что поменяла токен доступа в инфре — единственное, что я не сделал. Сменил токен за 1 минуту и всё заработало. То есть ошибка 404 на самом деле была ошибкой 403. Разница в единицу стоила мне двух часов.

В манускрипт моих практик по шаманизму добавилась следующая запись: «Если система обновилась, то если какая-то штука не работает, которая раньше работало без проблем, и лог ошибки не бьется с реальностью, то выполнить все действия, будто запускаешь эту штуку первый раз».

Под «не бьется с реальностью» я вот что имею в виду. Я точно вижу, что адрес правильный. Я его даже не руками вводил, а скопировал из примера самой инфры. Но я все равно продолжал считать, что это я дурак, а логи врать не могут.
👍2
Forwarded from ПсиТехЛаб
Добрейшего утречка.

Врываемся в осень с девлогами о том, как провели лето. Вот первая часть.
Подсветим важное объявление из него.

12 октября наша команда будет участвовать в конференции для психологов «Открытые двери». Там наш руководитель будет участвовать в дискуссии, где будут обсуждаться проблемы и перспективы тандема «психология+ИИ», а также мы будем читать доклад о нейросетях для психологов. Другие доклады можно посмотреть в программе.

Если вам эта область знакома или вы хотите усилить «техническую сторону» на конференции, то билеты можно купить здесь. Формат онлайн и оффлайн.
👍1
Я польщен, у меня на канале появились спам-боты))
🔥4😁2
Через неделю буду на конфе у псих-отерапевтов/олгов/иатров, где мы будем обсуждать чему равно «психология + ИИ».

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

Какие именно темы? Да любые, которые вы, возможно, хотели бы задать практикующим психотерапевтам с точки зрения ИИ.

Думайте.
4
Пока носился с больным сыном был в отпуске, пришла в голову гипотеза по прошлой теме диссера. Приехал заболел сам и проверил. Почитать можно здесь.
2👍1
Так вот оно как
😁6
Forwarded from ПсиТехЛаб
Вчера мы участвовали на конференции психологов «Открытые двери.CONF» в Питере, где мы считались целыми партнерами.

Наш руководитель Игорь участвовал там в обсуждении темы «Искусственный интеллект и психология», а потом они совместно с Нафисой рассказали психологам о нейросетях и как их применяют в психологии.

Как нас занесло в партнеры? Мы с проектом «Открытых дверей» разрабатываем бот-тренажер для психологов: заставляем БЯМ вести себя как определенный тип клиента, с которым у психологов могут возникнуть сложности. Самым «горячим» типом стал агрессивный клиент — матерится, плюётся токсичностью, обвиняет в некомпетентности и т. д. Поскольку «Открытые двери» обучают психологов, им такой инструмент очень в кассу — тренажер позволяет им наработать представление о проблемном типе, чтобы не впасть в ступор при встрече с реальным человеком. На этой конференции мы впервые представили тренажер широкой публике, чтобы собрать обратную связь.

У нас возникла идея. Мы к ним сходили и провели ликбез по нейросетям. Может быть, вам тоже было бы интересно послушать что-нибудь общее про практическую психологию? Да хотя бы про основные направления терапии, в чем их особенности и различия. Голосовалка будет ниже. Если у вас есть другая тема — каменты открыты.

Еще из приятного. Теперь наша работа по эмпатии есть не только как пост, но и как тезис в научном журнале.
🔥2👍1
На самом деле порой накрывало вот такое чувство, потому что ИИшников, насколько я понял, было только двое.
😁6
Смотрите какую ворону питерскую поймал.
💘6
Сейчас буду бомбить.

Как вы, возможно, знаете, мой диссер завязан на самоубийстве. Точнее на поисках тех, кто это собирается сделать, чтобы вразумить.

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

Бантиком диссера должен стать логичный эксперимент: показать, что наша система действительно эффективна для поиска таких несчастных людей. Чтобы это показать, нужны аккаунты людей, которые попытались (не важно, «удачно» или нет) совершить самоубийство.

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

Но я же не первый, кто эту проблему решает, так? Надо просто найти людей, кто уже публиковал работы по этой теме и взять эти датасеты либо из работ, либо у них самих. Практика показывает, что надеяться на открытость таких данных не приходится, потому что исследователи держат эти данные закрытыми, даже если изначально они были собраны из паблика, объясняя это либо мутными вопросами этики, либо просто потому что. Поэтому можно надеяться только на то, чтобы попросить у них лично.

Я нашел четыре таких работы, убив на это тонну времени. Каждая работа представляет датасет на своём языке: китайский, английски, русский и французский. Мне такая разноязычность очень на руку: мы активно исследуем трансфер датасетов с помощью машинного перевода и я планировал это тоже в диссер завернуть. Кроме поиска самих работ, мне нужно было еще понять, живы ли указанные почты. Некоторым работам под десяток лет уже. Человек из одной работы оказался литерали призраком: в исходной работе у него указана почта компании, которой давно не существует. Последняя свежая работа у него была в 2023 году, где почты у него нет, в более ранних работах также. Потом я нашел, что та компания была его и ее купила другая компания, где он продолжил работать. И еще потом случайно нашел, что в 2024 он перешел на новое место. Почты я все равно не нашел, но на сайте организации была форма обратно связи, которой я и воспользовался. Если бы в жизни был Стим, то я бы выбил ачивку Academia OSINTer.

В минувший понедельник рано утром я отправил четыре письма. Как вы думаете, получил ли я хотя бы один ответ?

Как вы, возможно, подозреваете — ни. хе. ра.
😭10
Forwarded from ПсиТехЛаб
Спустя пять месяцев после конференции, наконец-то, вышла наша научная статья о том, как мы создавали датасет пресуицидальных и антисуицидальных сигналов.

Пост на Хабре тоже готовится и, надеемся, скоро он увидит свет.
4🔥3