Обновить
14
1.1

AI first

Отправить сообщение

116K строк кода. 49 Rust-движков

А что именно в этих строках и движках? Из описания почти ничего не понятно. Ну, про модели я понял, они легкие и их несколько, они проверяют промпты на зловредное использование, но это пара сотен строк кода (а то и десятков). Остальное это что? Тема интересная, поэтому уточняю

При установке Яндекс Браузера под Win, он внаглую "крадет" все данные предыдущего браузера (в моем случае Chrome): вкладки и - внимание - логины и пароли. Возможно еще платежные данные берет и историю посещений сайтов (почему бы и нет, раз лежит?). Причем делает это совершенно самостоятельно, БЕЗ ЗАПРОСА. Куда потом уходят все эти данные? Почему какое-то приложение решило, что оно может спокойно брать данные ДРУГОГО ПРИЛОЖЕНИЯ? Причем совершенно без запроса на то разрешения. Причем максимально ЛИЧНЫЕ ДАННЫЕ, личнее не бывает.

После такого откровенного гоп-стопа я опасаюсь пользоваться ЛЮБЫМ приложением от некогда уважаемой компании.

Спасибо за обзор! Пара моментов.

1. Насчет ESpeech-TTS-1_RL-V2.

https://huggingface.co/ESpeech/ESpeech-TTS-1_RL-V2

Там:

pip install f5-tts gradio ruaccent transformers torch torchaudio huggingface_hub

По-видимому база у них f5-tts, который также есть в обзоре. И звучат они похоже (и оба довольно качественно).

2. Насчет XTTS-v2.

Без малого пару лет назад тестировал эту библиотеку. Ниже список встроенных голосов, которые более-менее нормально работали с русским (остальные совсем плохо были, акцентили):

ZOFIJA_KENDRICK, TANJA_ADELINA, TAMMIE_EMA, SZOFI_GRANGER, NOVA_HOGARTH, NARELLE_MOON, MAJA_RUOHO, LIDIYA_SZEKERES, GRACIE_WISE, GITTA_NIKOLINA, CHANDRA_MACFARLAND, BRENDA_STERN, BARBORA_MACLEAN, SUAD_QASIM = (
    "zofija_kendrick", "tanja_adelina", "tammie_ema", "szofi_granger", "nova_hogarth", "narelle_moon", "maja_ruoho",
    "lidiya_szekeres", "gracie_wise", "gitta_nikolina", "chandra_macfarland", "brenda_stern", "barbora_maclean",
    "suad_qasim"
)

ADDE_MICHAL, DAMJAN_CHAPMAN, DIONISIO_SCHUYLER, ABRAHAN_MACK, VIKTOR_MENELAOS, ROYSTON_MIN, LUIS_MORAY, FERRAN_SIMEN, EUGENIO_MATARACI = (
    "adde_michal", "damjan_chapman", "dionisio_schuyler", "abrahan_mack", "viktor_menelaos", "royston_min",
    "luis_moray", "ferran_simen", "eugenio_mataraci"
)

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

И надо заметить - XTTS-v2 сильно прожорливый, очень тяжелый. Большие тексты надо пилить на чанки, иначе будет проглатывать часть текста, либо вообще уходить в астрал, но это особенность архитектуры. В целом получалось озвучивать тексты размером с небольшую статью (2000-2500 символов, но точно не помню уже), хоть сама библиотека и ругалась и просила меньшие чанки.

П.С. отдельное спасибо за примеры синтеза, но к сожалению какая-то часть читателей из РФ не сможет их прослушать, т.к. soundcloud.com заблокирован в России.

Отличная база, незаменимая. Светлая память основателю

с точки зрения - показать как работают LLM это отличный проект

Не лучшая идея начинать знакомство с устройством LLM с microGPT. Лучше взять у Карпатого его проект nanoGPT и параллельно его же видео по созданию GPT с нуля

Гений отличается простотой решений

Все-таки этот код нельзя назвать простым. Компактный - да, лаконичный - да, понятный - новичку нет, эффективный - без torch/cuda и тд нет. Но в любом случае это интересная реализация

Нет, здесь обучение на обычных именах, соответственно вывод будет плюс-минус похожий. Вот если взять датасет имен, например, дройдов из Звездных войн, тогда да, будет что-то похожее на X Æ A-12 ;)

Спасибо за статью, очень подробно и понятно описано.

Рискну предположить, что для больших моделей уровня GPT4+, Gemini, Claude и тд, эта проблема не столь заметна, т.к. обобщающая способность очень сильная. А вот для малых моделей (условно до 8B и ниже) это возможно действительно будет прирост качества, в первую очередь для указанных вами "морфологически богатых языков (русский, арабский, венгерский)". Интересно будет проверить, обучив какую-нибудь небольшую модель уровня GPT2/NanoGPT

Автор по-видимому привел эту ссылку из оригинала статьи:

MorphBPE: A Morpho-Aware Tokenizer Bridging Linguistic Complexity for Efficient LLM Training Across Morphologies

Забавно, что на сейчас у проекта 8 звезд.

Сюда же добавлю насчет другой ссылки:

MorphBPE Tokenizer Playground — tokenizer.llm-lab.org. Веб-интерфейс, где можно ввести текст и увидеть, как MorphBPE разбивает его на токены по сравнению с обычным BPE. Хороший способ интуитивно почувствовать разницу.

Судя по всему это демо для арабского языка, русский/английский текст пилит странно, ну и надпись там же Arabic Text Tokenizer

и_так_сойдет.jpg

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

Возможно самое простое решение, чтобы можно было пользоваться прямо сейчас:

  • полная изоляция от основной системы

  • никаких доступов к основным аккаунтам (почта, соцсети, банкинг и тд)

  • апрувить каждое действие, и самое главное - смотреть детали действия

Это как минимум.

В одном из вирусных примеров...

Но вирусным проект стал...

В тексте есть мета-смыслы :)

Совсем не единственный, причем уже несколько лет как

Улыбнуло :) Еще чтобы дубли новостей убирало, а то часто одна и та же новость сообщается дважды-трижды, причем иногда совсем рядом

Настроил напоминалки с кнопками "Сделал" / "Отложить на 30 минут". Но главное — добавил логику: если отложил два раза подряд, бот пишет: "Слушай, давай честно — перенесём на завтра? Или ты реально через полчаса сделаешь?"

Это уже не тупой будильник. Это accountability partner, который не даёт соврать самому себе.

Ради этого арендовать VPS и ставить OpenClaw? :) Задачи такого рода (и даже больше) элементарно реализовать локально через скрипты в несколько строк.

Отсюда вопрос - вы не смотрели что под капотом? Собственно, в чем именно соль проекта? В соло-установке из sh-файла? И что там ставится кроме необходимого именно вам?

Как мне видится, большую часть этой "магии" можно реализовать самостоятельно, и все будет компактнее, понятнее, безопаснее и тд.

Потом, насчет этого:

OpenClaw по умолчанию настроен на максимальную автономность. Там, где Claude Code остановится и спросит "Делаем А или Б?", OpenClaw просто сделает

Наверное не составит труда залезть в исходники и добавить везде, где нужно запросы указанные вами (Делаем А или Б?).

Здесь можно возразить, что смысл проекта "поставить из коробки и пользоваться", но, слушайте, если вы готовы дать слабо-изученной утилите, доступы, например, к почте и право делать с ней (почтой) что угодно, тогда нужно как минимум понимать, что там происходит внутри, иначе это просто моветон. И нужен ли этот посредник в принципе? Не проще ли (и безопаснее!) написать все что реально нужно самому? Или хотя бы взять нужные части/блоки, адаптировать под свои нужды. Ведь там нет никакой магии, вся "магия" в LLM, все остальное обертка для работы с LLM.

В общем, интересно было бы заглянуть под капот этого комбайна. Идея вам к следующему посту :) (у самого пока нет времени)

Понимаю, что это перевод, но позволю себе заметить:

Инференс на GPU не стоит того при объеме VRAM менее 8 ГБ. Если GPU у вас маловато, делайте инференс на CPU

Если мало VRAM, тогда можно разместить на GPU только часть слоев (это может быть большая часть), а остальные слои будут работать на CPU. И такой вариант работает существенно быстрее, чем когда все слои на CPU. Странно, что автор не указал это.

Делается это добавлением параметра:

-ngl, --gpu-layers, --n-gpu-layers N (три варианта написания)

Если модель поддерживает большой контекст, у вас может закончиться память. В таком случае установите меньший размер контекста

Еще можно квантовать KV-кеш на инференсе, что также существенно экономит память, часто без заметной потери качества. По умолчанию KV-кеш в float16 (f16), его можно поменять на:

"f32", "f16", "bf16", "q8_0", "q4_0", "q4_1", "iq4_nl", "q5_0", "q5_1", через параметры:

-ctk, --cache-type-k (два варианта написания) и -ctv, --cache-type-v (два варианта написания), например:

--cache-type-k q8_0 cache-type-v q8_0

Поскольку llama.cpp назван в честь флагманской модели Meta, логично начинать с их модели

Странный логический вывод, но да ладно :)

Bы уверены, что хоть в одном из ныне расплодившихся ИИ есть хоть какая-то связь между словами "вектор" и "A245B511D1451F576C847B9589D980F060A060D7"

Такой связи не будет, потому что "A245B511D1451F576C847B9589D980F060A060D7" это абракадабра, она будет рядом с другими мусорными векторами вроде этого же.

А слово "вектор" будет в пространстве ближе к таким концепциям, как: математика, направление, векторная графика и тд.

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

Спасибо за модель, ребят! Потестировал на своих локальных задачах (в том числе c использованием function calling), очень понравилась

Добрый день! Не вполне понятно о чем именно речь, из абстракта к статье - еще более не понятно. Отдал материал ChatGPT (нет времени читать полностью), позадавал ему вопросы.

Правильно ли я понял суть исследования:

  • есть датасет LORuGEC с примерами ошибка-исправление ("он сам пошла туда" - "он сам пошел туда")

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

  • предварительно, c помощью малой модели GECTOR, анализируется текст на ошибки, находятся похожие в представленном датасете LORuGEC

  • в итоге LLM на вход подаются: примеры найденных ошибок и их исправление (few-shot) + текст который нужно исправить. LLM исправляет текст без существенного его изменения

Параллельно еще проверили разные модели на то, какие ошибки они не понимают.

Все верно?

Сколько ж оно денег скушает за один консилиум?

Информация

В рейтинге
1 765-й
Зарегистрирован
Активность

Специализация

ML разработчик, LLM, RAG, DS, CV
Python
Linux
Базы данных