Обновить
128K+

Natural Language Processing *

Компьютерный анализ и синтез естественных языков

208,91
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Хотел выбрать булочную по отзывам, а написал анализатор аномалий с embeddings и графами

Уровень сложностиСредний
Время на прочтение21 мин
Охват и читатели9.6K

После переезда я искал булочную на Яндекс Картах и наткнулся на отзыв, начинающийся с фразы «да вот хороший вариант ответа».

Из этого вырос ReviewScope, инструмент для поиска аномалий, повторяющихся текстов и необычных закономерностей в отзывах.

Расскажу, как устроены embeddings, графы совпадений и взвешенный рейтинг, какие ошибки пришлось исправлять и что показала проверка на 21 тысяче настоящих отзывов.

Читать далее

Новости

Локальный ассистент для зумов, часть 10: NLI — три места, куда я его примерял, и два, откуда ушёл

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели7.8K

Бюджет на квартал согласован и бюджет на квартал не согласован. Для эмбеддингов это почти одна фраза: слова те же, частица не в векторе весит мало. Для встречи это значит, что решили обратное.

Вот из-за таких пар в Чароите живёт NLI-модель. Ниже — где она работает третий месяц, где я её снял и почему, и во что это обошлось.

Читать далее

Я написал 61 тест для AI-ментора. Потом выяснилось, что тестам тоже нельзя верить

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели6.4K

Репетитора не нанимают по резюме. Ему дают тетрадь реального ученика и смотрят не на то, знает ли он ответ, а на то, где он остановится. Подскажет, в какой строке ошибка, или перепишет задачу за ученика? Скажет «не знаю, давай проверим» или уверенно додумает?

Месяц назад я встроил в свою учебную платформу AI-ментора: он видит уроки, прогресс студента и его последнюю попытку по заданию. Чтобы не выбирать модель и не править промпт по ощущениям, я собрал стенд из автоматических проверок и начал принимать решения по его цифрам.

Через неделю выяснилось, что стенд тоже ошибается. Он засчитывал оборванный ответ, пропускал готовое решение задания под другим именем переменной и валил правильный отказ. А ещё через неделю модель на стенде вела себя безупречно, а на проде на тот же класс вопросов - нет. Эта статья про то, как устроен стенд, что он помог решить, где он создавал ложную уверенность и что я в итоге перестал доверять модели совсем.

Где стенд врал

Детектор ИИ-текста своими руками: какие признаки нейрослопа ловит код и какие остаются живому редактору

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели6.7K

Я разложил по проверкам своего детектора ИИ-текста 12 признаков нейрослопа, то есть текста, который выдала нейросеть и никто не вычитал. Кодом ловятся пять, из них два частично. Остальные семь держатся только на правилах для редактора. На пробе мимо скрипта прошли две типичные фразы-вводки: «В этой статье мы рассмотрим» и «Вывод простой» с двоеточием.

Онлайн-детекторы отвечают процентом и не говорят, что править. Сам процент тоже ненадёжен: в работе Liang и соавторов семь детекторов в среднем приняли за машинные 61% эссе TOEFL, написанных людьми, для которых английский не родной. OpenAI свой классификатор закрыла летом 2023 года из-за низкой точности.

Узкая проверка устроена по-другому: она называет фразу и правило, и с каждым срабатыванием можно спорить отдельно. Редакторы Википедии ведут открытый список признаков ИИ-текста и прямо пишут, что признак указывает на возможную проблему и сам по себе ничего не доказывает. Мой скрипт исходит из того же: он ищет следы невычитанного текста, авторство он не определяет. Общий балл этого детектора уже разбирали на Хабре.

Читать далее

RAG по 11 000 файлов: почему семантический поиск не находит по артикулу

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели6.6K

11 000 файлов техдокументации, больше 100 менеджеров по продажам и бот, который уверенно называл числа из паспорта соседнего станка. Разбираю, почему плотные векторы промахиваются по артикулам, и что в итоге сработало.

Читать далее

Своя модель решений на русском за вечер аренды GPU: что она умеет, сколько стоит и где проигрывает

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели6.5K

Немалую долю задач в бизнесе, где применим ИИ можно свести к выбору варианта ответа на тот или иной вопрос, например, куда направить обращение, кто согласует заявку, срочная ли жалоба. Я дообучил открытую модель на 4 млрд параметров на русских задачах за несколько сотен рублей аренды видеокарты и честно сравнил её с YandexGPT, GigaChat и открытыми аналогами, в том числе на задачах, которых не видела ни одна модель. На своих задачах 84,5% точности и почти две трети потока на автоматике при 95% правильных решений, на чужих верхняя группа, но не лидер. Плюс грабли, на которые стоит не наступать, и метрики, которые стоит требовать от подрядчика. Модель и код открыты.

Читать далее

Anthropic запретила обижать Claude, а я матерюсь в каждом втором сообщении. Пришлось сделать Punto Switcher для промптов

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели8.5K

Всем привет! 8 октября Anthropic обновила правила пользования своими моделями. Среди прочего там появился пункт, который меня обеспокоил: систематическая бессмысленная жестокость к моделям теперь под запретом. Я как раз писал об этом новость и поймал себя на мысли, что я буду первым, кого забанят.

Потому что я матерюсь на Claude Code. Много. Когда агент в который раз бодро рапортует «готово», а ничего не готово, слова я не подбираю. У меня даже есть скилл Prompt Warrior, который по логам считает, как я общаюсь с агентом. Посчитал: мат почти в каждом втором сообщении. А теперь пришла пора не только считать, но и менять. Менять текст, автоматически, а не свои привычки, конечно же.

Читать далее

Дал девяти популярным скиллам для Claude Code плацебо: два лучше пустышки, один хуже

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели10K

Я сравнил девять самых популярных скиллов для Claude Code с пустышкой: нейтральным текстом той же длины, без единого совета, как работать. Агент 450 раз решал задачи из SWE-bench и Terminal-Bench со скиллом, с пустышкой и вообще без ничего.

superpowers, у которого почти 300 тысяч звёзд, от пустышки не отличился. Один скилл оказался хуже неё. И ни один из девяти не сделал работу дешевле, чем без скилла: часть денег уходит просто на то, что скилл лежит в контексте.

Ниже расскажу, какие два всё-таки сработали и как в день публикации я нашёл у себя ошибку, которая поменяла один из вердиктов.

Какие два сработали

SGLang без магии: как устроены основные настройки инференса LLM

Уровень сложностиСложный
Время на прочтение11 мин
Охват и читатели6.9K

Когда LLM помещается на одной GPU и получает несколько запросов в минуту, настройка движка инференса обычно заканчивается на выборе модели и типа данных. Проблемы начинаются дальше: модель перестает помещаться в память, растет очередь запросов, длинные промпты съедают KV-кэш, а GPU простаивают в ожидании обмена данными друг с другом. 

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

Разберем пять групп настроек: параллелизм: TP, DP, CP, PP и EP, KV-кэш: Radix Cache и HiCache, вычисления и коммуникации в MoE, attention-бекенд, спекулятивное декодирование. Задача — не перечислить все CLI-флаги SGLang, а понять, что именно в пайплайне инференса меняет каждая настройка и в какой ситуации ее имеет смысл трогать. Поехали! 

Читать далее

Кабардинский переводчик, часть 2: одна модель в обе стороны, корпус с Claude Code и шесть часов аренды GPU

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели5.6K

Продолжение статьи «Как создать переводчик для низкоресурсного языка».

Год назад я рассказывал, как дообучил две модели MarianMT: одну для перевода с русского на кабардинский, другую обратно. Сейчас вместо двух моделей обучена одна, на 61 млн параметров, и она переводит в обе стороны. На FLORES-200 русско-кабардинский перевод вырос с 38.7 до 57.4 chrF, кабардинско-русский с 35.0 до 50.2. Для сравнения: в среднем по 30 «большим» языкам многоязычная SMaLL-100 даёт 47–48. Обучение заняло 6 часов на одной арендованной RTX 4090 и обошлось меньше чем в 10 долларов. Всё остальное делалось на Mac mini с Claude Code в терминале.

Читать далее

Как подключить Claude Code через шлюз и какие модели поддерживают агентный цикл

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели7.9K

Привет, Хабр! На связи команда Just AI. Сегодня хотим поговорить про Claude Code. Он умеет работать не только с моделями Anthropic: если направить его запросы в совместимый API-шлюз, можно оставить привычный клиент, но при этом менять провайдера, модель и способ работы с API.

В этой статье разберемся, что Claude Code отправляет в API, что от шлюза требуется для нормальной работы и какие проблемы возникают при подключении других моделей. На примере Caila посмотрим, какие модели можно использовать с Claude Code, сколько стоит сессия и как устроено подключение.

Читать далее

Decision-модели изнутри: как устроены Jev, Clef, pplx-decider, Strands Decider, Laya и GLiDE

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели8.6K

15 сентября TypeSafe выпустила Jev и назвала её первой моделью класса System One. Jev получает состояние системы и набор типизированных вопросов, а возвращает распределение вероятностей по допустимым ответам. Весь ответ считается за один прямой проход, без генерации токенов.

За 16 дней вышли ещё пять реализаций той же идеи: Clef и Clef-flash от Cloudflare, pplx-decider-v1-27b от Perplexity, Strands Decider 2B от AWS, Laya от Convai Innovations и GLiDE от Fastino. Миллион решений у самой дешёвой из них стоит 12 долларов, у Claude Sonnet 5 в роли классификатора — 700.

Разбираем, как устроены все шесть моделей, что показывают независимые замеры и что проверить перед запуском в продакшен.

Читать далее

Писать агенту по-английски ради экономии? 40 прогонов: разница 12 токенов на задачу

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели4.9K

Частый совет: пишите агенту по-английски, русский съедает в полтора раза больше токенов. Токенизатор это подтверждает: 194 токена против 132 на одном и том же абзаце. Я прогнал пять рутинных задач на двух моделях, на обоих языках, по два раза. Сорок прогонов.

Оба языка решили по 17 задач из 20, русский промпт к задаче длиннее в среднем на 12 токенов, а это 0,005% от того, что агент читает за прогон. Разброс между двумя одинаковыми запусками доходит до 3,4 раза. Рассказываю, куда делись полтора раза и где язык всё-таки стоит денег.

Читать далее

Ближайшие события

Голосовой ИИ Агент

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели8.7K

Голосового агента выдаёт не голос. Современный синтез звучит прилично, и на связке телефонной линии с её 8 кГц разница между хорошим и отличным TTS вообще теряется. Выдаёт другое: как он читает числа.

«Привезём 15.07.2026» в устах робота превращается во что угодно — от «пятнадцать точка ноль семь» до бодрого чтения даты как дроби. Телефон, прочитанный как одно десятизначное число, невозможно записать со слуха. И каждый такой момент — это секунда, в которую собеседник вспоминает, что говорит с программой.

При этом из всех маркеров робота этот — самый дешёвый в устранении. Ниже — библиотека на 155 строк с одной зависимостью, которая закрывает даты, телефоны, деньги, проценты и номера заказов для русского языка. Код целиком в статье, забирайте. А заодно — три ловушки, в которые я наступил, пока её писал, включая баг, который нашёл прямо в процессе подготовки этого текста.

Читать далее

Как я вычищал ИИ‑маркеры из текстов Claude: промпт, второй проход и регулярка

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели8.7K

Нейросеть пишет грамотно, и именно поэтому её текст узнаётся с первой строки: длинные тире, конструкции «дело не в X, а в Y», «важно понимать», «давайте разберёмся». Я столкнулся с этим на Телеграм‑боте, который превращает голосовые сообщения в сценарии для соцсетей, и чинил проблему в три слоя за один день. В статье разберу, как устроен пайплайн бота, почему просьбы в промпте не хватило, почему второй проход нейросети тоже не спас и что в итоге закрыло задачу. Весь код ниже взят из рабочего репозитория, имена переменных я чуть упростил.

Читать далее

Три ловушки в VOSK: моя программа удаляла корректные модели после скачивания

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели5.8K

Мне нужно было приложение, которое распознаёт речь и никуда не отправляет аудио. Не «не отправляет по умолчанию» и не «у нас есть офлайн‑режим» — а физически не может, потому что сети нет в процессе.

Когда я начал искать, выяснилось, что выбор небольшой.

Читать далее

Работа с текстом без LLM? Продолжаем развивать парсер Real AI SA

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели8.2K

Итак, прошло уже больше 2х лет с момента моей последней статьи.

Пора рассказать, что происходит в жизни проекта и сколько уже потратили на его реализацию.

Спойлер: потратили 8 000 000 рублей, внесли в базу знаний анализатора около 5000 понятий и провели бесплатный пилот.

Напомню, что в рамках проекта мы создаем семантический анализатор, предназначенный для построения графа из текста, работающий без больших языковых моделей (LLM).

Читать далее

MTPLX против oMLX: одна модель, два сервера, разница в 3–6 раз

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели7.5K

Вторая часть. Первая — «Локальный агент для кода на Mac: MTPLX + pi + Qwen3.8-27B».

В первой части я посадил кодового агента pi на локальную Qwen3.8-27B через MTPLX и прогнал сложную задачу в разных режимах размышлений. Осталось сомнение, которое MTPLX сам не снимает: сколько тут даёт его многотокенное предсказание (multi-token prediction, MTP), а сколько сработало бы на любой MLX-обвязке?

Толчком стал разговор с ChatGPT. Я спросил, какой MLX-сервер поставить на MacBook Pro с M4 Max, и получил уверенный ответ: oMLX быстрее и качественнее остальных на таком железе. Звучало правдоподобно, проверить было интересно вдвойне. Я поставил oMLX, взял ту же модель и ту же задачу и повторил все те же режимы. Заодно отвечаю на вопросы из комментариев к первой части — про режим по умолчанию, шум вентиляторов и память.

Итог короткий: совет не подтвердился. В моих прогонах MTPLX заканчивал задачу в 2,8–6,4 раза быстрее, а по скрытым тестам связки сравнялись. Оговорки тоже короткие: сборки модели разные, а каждый режим на oMLX я запускал по одному разу.

Читать далее

Программа поиска по PDF. Разбираем PageIndex, Streamlit и ссылки на страницы

Уровень сложностиПростой
Время на прочтение17 мин
Охват и читатели7.4K

«Срок гарантии — 18 месяцев». Красивый ответ. А если в договоре написано 12? Или число 18 стоит в разделе о хранении, а модель просто зацепилась за него?

В чате такие ошибки прячутся за гладкой фразой. Я хотел иной маршрут: задать вопрос к PDF, получить ответ и одним нажатием открыть физическую страницу исходного файла, на которую ссылается модель. Так появился PDF Desk — небольшое приложение на Python, Streamlit, PageIndex и PDFium. Один активный документ. Никакой базы пользователей. Индекс и исходный PDF остаются на компьютере; при использовании внешней модели текст документа всё равно уходит её провайдеру.

Дальше — где проходит граница между SDK и приложением. Почему голый /models не годится для проверки подключения. Из чего собран идентификатор индекса. И почему ссылка на существующую страницу ещё не значит, что ответ доказан. В конце живой прогон DeepSeek, включая браузер, и сценарии, для которых этого прогона мало.

Читать далее

Gemini 4 победила в бенчмарках. Почему это всё меньше говорит о качестве модели

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели11K

Gemini 4 Argon вышел с таблицей, где он лидирует в 12 тестах из 18. Ровно такую таблицу Google показывала в феврале — для Gemini 3.1 Pro. Тот потом проиграл Claude в реальной работе больше чем на 300 очков.

У релизов Gemini сложился сценарий, и Argon пока идёт по нему шаг в шаг. Дело при этом не только в Google: победа в бенчмарках сегодня значит всё меньше.

Читать далее
1
23 ...