А что именно в этих строках и движках? Из описания почти ничего не понятно. Ну, про модели я понял, они легкие и их несколько, они проверяют промпты на зловредное использование, но это пара сотен строк кода (а то и десятков). Остальное это что? Тема интересная, поэтому уточняю
При установке Яндекс Браузера под Win, он внаглую "крадет" все данные предыдущего браузера (в моем случае Chrome): вкладки и - внимание - логины и пароли. Возможно еще платежные данные берет и историю посещений сайтов (почему бы и нет, раз лежит?). Причем делает это совершенно самостоятельно, БЕЗ ЗАПРОСА. Куда потом уходят все эти данные? Почему какое-то приложение решило, что оно может спокойно брать данные ДРУГОГО ПРИЛОЖЕНИЯ? Причем совершенно без запроса на то разрешения. Причем максимально ЛИЧНЫЕ ДАННЫЕ, личнее не бывает.
После такого откровенного гоп-стопа я опасаюсь пользоваться ЛЮБЫМ приложением от некогда уважаемой компании.
По-видимому база у них f5-tts, который также есть в обзоре. И звучат они похоже (и оба довольно качественно).
2. Насчет XTTS-v2.
Без малого пару лет назад тестировал эту библиотеку. Ниже список встроенных голосов, которые более-менее нормально работали с русским (остальные совсем плохо были, акцентили):
Не все эти голоса хорошо произносят русский, часто уходят в акцент, но слушать в целом можно.
И надо заметить - XTTS-v2 сильно прожорливый, очень тяжелый. Большие тексты надо пилить на чанки, иначе будет проглатывать часть текста, либо вообще уходить в астрал, но это особенность архитектуры. В целом получалось озвучивать тексты размером с небольшую статью (2000-2500 символов, но точно не помню уже), хоть сама библиотека и ругалась и просила меньшие чанки.
П.С. отдельное спасибо за примеры синтеза, но к сожалению какая-то часть читателей из РФ не сможет их прослушать, т.к. soundcloud.com заблокирован в России.
с точки зрения - показать как работают LLM это отличный проект
Не лучшая идея начинать знакомство с устройством LLM с microGPT. Лучше взять у Карпатого его проект nanoGPT и параллельно его же видео по созданию GPT с нуля
Все-таки этот код нельзя назвать простым. Компактный - да, лаконичный - да, понятный - новичку нет, эффективный - без torch/cuda и тд нет. Но в любом случае это интересная реализация
Нет, здесь обучение на обычных именах, соответственно вывод будет плюс-минус похожий. Вот если взять датасет имен, например, дройдов из Звездных войн, тогда да, будет что-то похожее на X Æ A-12 ;)
Спасибо за статью, очень подробно и понятно описано.
Рискну предположить, что для больших моделей уровня GPT4+, Gemini, Claude и тд, эта проблема не столь заметна, т.к. обобщающая способность очень сильная. А вот для малых моделей (условно до 8B и ниже) это возможно действительно будет прирост качества, в первую очередь для указанных вами "морфологически богатых языков (русский, арабский, венгерский)". Интересно будет проверить, обучив какую-нибудь небольшую модель уровня GPT2/NanoGPT
MorphBPE Tokenizer Playground — tokenizer.llm-lab.org. Веб-интерфейс, где можно ввести текст и увидеть, как MorphBPE разбивает его на токены по сравнению с обычным BPE. Хороший способ интуитивно почувствовать разницу.
Судя по всему это демо для арабского языка, русский/английский текст пилит странно, ну и надпись там же Arabic Text Tokenizer
Настроил напоминалки с кнопками "Сделал" / "Отложить на 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), его можно поменять на:
Bы уверены, что хоть в одном из ныне расплодившихся ИИ есть хоть какая-то связь между словами "вектор" и "A245B511D1451F576C847B9589D980F060A060D7"
Такой связи не будет, потому что "A245B511D1451F576C847B9589D980F060A060D7" это абракадабра, она будет рядом с другими мусорными векторами вроде этого же.
А слово "вектор" будет в пространстве ближе к таким концепциям, как: математика, направление, векторная графика и тд.
Примеры с носом, ключом и глаголом "идти" ну это же совсем банальная вещь, обычный механизм Attention с пол оборота разделит концепции "нос корабля" и "нос, как орган", например, это будут совсем разные векторы. С этим справится даже любой простейший n-граммный механизм
Добрый день! Не вполне понятно о чем именно речь, из абстракта к статье - еще более не понятно. Отдал материал ChatGPT (нет времени читать полностью), позадавал ему вопросы.
Правильно ли я понял суть исследования:
есть датасет LORuGEC с примерами ошибка-исправление ("он сам пошла туда" - "он сам пошел туда")
есть текст который нужно исправить на грамматические ошибки с помощью LLM без существенного изменения текста (чтобы только ошибки исправлял, не перефразируя)
предварительно, c помощью малой модели GECTOR, анализируется текст на ошибки, находятся похожие в представленном датасете LORuGEC
в итоге LLM на вход подаются: примеры найденных ошибок и их исправление (few-shot) + текст который нужно исправить. LLM исправляет текст без существенного его изменения
Параллельно еще проверили разные модели на то, какие ошибки они не понимают.
А что именно в этих строках и движках? Из описания почти ничего не понятно. Ну, про модели я понял, они легкие и их несколько, они проверяют промпты на зловредное использование, но это пара сотен строк кода (а то и десятков). Остальное это что? Тема интересная, поэтому уточняю
При установке Яндекс Браузера под Win, он внаглую "крадет" все данные предыдущего браузера (в моем случае Chrome): вкладки и - внимание - логины и пароли. Возможно еще платежные данные берет и историю посещений сайтов (почему бы и нет, раз лежит?). Причем делает это совершенно самостоятельно, БЕЗ ЗАПРОСА. Куда потом уходят все эти данные? Почему какое-то приложение решило, что оно может спокойно брать данные ДРУГОГО ПРИЛОЖЕНИЯ? Причем совершенно без запроса на то разрешения. Причем максимально ЛИЧНЫЕ ДАННЫЕ, личнее не бывает.
После такого откровенного гоп-стопа я опасаюсь пользоваться ЛЮБЫМ приложением от некогда уважаемой компании.
Спасибо за обзор! Пара моментов.
1. Насчет ESpeech-TTS-1_RL-V2.
Там:
По-видимому база у них f5-tts, который также есть в обзоре. И звучат они похоже (и оба довольно качественно).
2. Насчет XTTS-v2.
Без малого пару лет назад тестировал эту библиотеку. Ниже список встроенных голосов, которые более-менее нормально работали с русским (остальные совсем плохо были, акцентили):
Не все эти голоса хорошо произносят русский, часто уходят в акцент, но слушать в целом можно.
И надо заметить - XTTS-v2 сильно прожорливый, очень тяжелый. Большие тексты надо пилить на чанки, иначе будет проглатывать часть текста, либо вообще уходить в астрал, но это особенность архитектуры. В целом получалось озвучивать тексты размером с небольшую статью (2000-2500 символов, но точно не помню уже), хоть сама библиотека и ругалась и просила меньшие чанки.
П.С. отдельное спасибо за примеры синтеза, но к сожалению какая-то часть читателей из РФ не сможет их прослушать, т.к. soundcloud.com заблокирован в России.
Отличная база, незаменимая. Светлая память основателю
Не лучшая идея начинать знакомство с устройством 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 звезд.
Сюда же добавлю насчет другой ссылки:
Судя по всему это демо для арабского языка, русский/английский текст пилит странно, ну и надпись там же Arabic Text Tokenizer
и_так_сойдет.jpg
Спасибо за скорый анализ. С первого взгляда было понятно, что в текущем виде система не безопасная, хотя идея бота интересная.
Возможно самое простое решение, чтобы можно было пользоваться прямо сейчас:
полная изоляция от основной системы
никаких доступов к основным аккаунтам (почта, соцсети, банкинг и тд)
апрувить каждое действие, и самое главное - смотреть детали действия
Это как минимум.
До слез :'))
В тексте есть мета-смыслы :)
Совсем не единственный, причем уже несколько лет как
Улыбнуло :) Еще чтобы дубли новостей убирало, а то часто одна и та же новость сообщается дважды-трижды, причем иногда совсем рядом
Ради этого арендовать VPS и ставить OpenClaw? :) Задачи такого рода (и даже больше) элементарно реализовать локально через скрипты в несколько строк.
Отсюда вопрос - вы не смотрели что под капотом? Собственно, в чем именно соль проекта? В соло-установке из sh-файла? И что там ставится кроме необходимого именно вам?
Как мне видится, большую часть этой "магии" можно реализовать самостоятельно, и все будет компактнее, понятнее, безопаснее и тд.
Потом, насчет этого:
Наверное не составит труда залезть в исходники и добавить везде, где нужно запросы указанные вами (Делаем А или Б?).
Здесь можно возразить, что смысл проекта "поставить из коробки и пользоваться", но, слушайте, если вы готовы дать слабо-изученной утилите, доступы, например, к почте и право делать с ней (почтой) что угодно, тогда нужно как минимум понимать, что там происходит внутри, иначе это просто моветон. И нужен ли этот посредник в принципе? Не проще ли (и безопаснее!) написать все что реально нужно самому? Или хотя бы взять нужные части/блоки, адаптировать под свои нужды. Ведь там нет никакой магии, вся "магия" в LLM, все остальное обертка для работы с LLM.
В общем, интересно было бы заглянуть под капот этого комбайна. Идея вам к следующему посту :) (у самого пока нет времени)
Понимаю, что это перевод, но позволю себе заметить:
Если мало 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
Странный логический вывод, но да ладно :)
Такой связи не будет, потому что "A245B511D1451F576C847B9589D980F060A060D7" это абракадабра, она будет рядом с другими мусорными векторами вроде этого же.
А слово "вектор" будет в пространстве ближе к таким концепциям, как: математика, направление, векторная графика и тд.
Примеры с носом, ключом и глаголом "идти" ну это же совсем банальная вещь, обычный механизм Attention с пол оборота разделит концепции "нос корабля" и "нос, как орган", например, это будут совсем разные векторы. С этим справится даже любой простейший n-граммный механизм
Спасибо за модель, ребят! Потестировал на своих локальных задачах (в том числе c использованием function calling), очень понравилась
Добрый день! Не вполне понятно о чем именно речь, из абстракта к статье - еще более не понятно. Отдал материал ChatGPT (нет времени читать полностью), позадавал ему вопросы.
Правильно ли я понял суть исследования:
есть датасет LORuGEC с примерами ошибка-исправление ("он сам пошла туда" - "он сам пошел туда")
есть текст который нужно исправить на грамматические ошибки с помощью LLM без существенного изменения текста (чтобы только ошибки исправлял, не перефразируя)
предварительно, c помощью малой модели GECTOR, анализируется текст на ошибки, находятся похожие в представленном датасете LORuGEC
в итоге LLM на вход подаются: примеры найденных ошибок и их исправление (few-shot) + текст который нужно исправить. LLM исправляет текст без существенного его изменения
Параллельно еще проверили разные модели на то, какие ошибки они не понимают.
Все верно?
Сколько ж оно денег скушает за один консилиум?