🙄Разминка для ума!
Треугольник Серпинского, интересная фигура которую построить достаточно просто.
Алгоритм такой:
1. создаём любые 3 точки на плоскости
2. из этих точек случайно выбираем любую, как начальную
3. случайно выбираем любую точку из этих же трёх точек как цель
4. перемещаемся в сторону цели на половину расстояния
5. повторяем бесконечно с пункта 3
Если сделать достаточно много итераций то вырисовывается интересная фигура. Треугольник, в который вписаны более мелкие треугольники. Это самый настоящий фрактал!
Я собрал пример построения такой фигуры на базе Qt.
🌎 Код можно посмотреть здесь.
С помощью paintEvent я рисую точки по озвученному алгоритму. Каждые 10 секунд либо по клику на виджете строится следующий треугольник.
Особенности примера:
🔸 Атрибут Qt.WA_OpaquePaintEvent позволяет сохранить то, что было нарисовано в прошлой итерации. Таким образом мы видим постепенное наполнение точек а не мелькающую одну точку.
🔸QTimer позволяет создавать отложенные вызовы один раз или с повторением через интервал.
🔸QColor.fromHsv() позволяет создать рандомный но предсказуемый цвет с помощью HSV схемы. Не слишком светлый и не слишком тёмный но всегда с разный. Рандомизации подвергается только смещение по цветовому кругу (Hue), яркость (Value) и насыщенность (Saturation) можно контролировать отдельно в своих пределах или оставить статичными. Обычный рандом цвета по RGB не даёт такой предсказуемый результат.
🔸 Каждый новый цикл с новым треугольником предварительно затемняет предыдущие через этот вызов
painter.fillRect(rec, QColor(0, 0, 0, 100))
То есть полупрозрачный цвет. Таким образом, чем старше треугольник, тем он темней.
Если сделать виджет фулскрин, то у нас получится некий ScreenSaver)))
🔸 Да, я знаю, что рисование в Qt не самый лучший способ сделать этот пример) Скорее всего самый НЕподходящий. Попробуйте сделать тоже самое но другими средствами.
#qt#source#tricks
🌟MUVERA: уравниваем в скорости многовекторный и одновекторный поиск.
MUVERA - алгоритм, разработанный Google Research, который сводит сложную задачу многовекторного поиска обратно к простому и быстрому MIPS, как в подходах с одним вектором.
Суть проста: вместо того чтобы работать с громоздким набором векторов, MUVERA сжимает его в единый вектор фиксированной длины, так называемый Fixed Dimensional Encoding (FDE). Главный трюк в том, что скалярное произведение этих новых FDE-векторов очень точно аппроксимирует исходную, «честную» метрику Чамфера.
На практике процесс выглядит как двухэтапный конвейер. Сначала MUVERA генерирует FDE для всех документов в базе и индексирует их с помощью обычного MIPS-солвера. Когда приходит запрос, для него тоже создается FDE, и система молниеносно находит небольшой список кандидатов. А уже затем этот короткий список переранжируется с использованием оригинальной, медленной, но точной метрики Чамфера. На выходе получаем и скорость, и качество.
В практическом сравнении с предыдущим SOTA методом PLAID, MUVERA показывает в среднем на 10% более высокую полноту выдачи при сокращении задержки на 90%. Чтобы достичь того же качества, алгоритму требуется отобрать в 5-20 раз меньше кандидатов для финального переранжирования.
Более того, эти FDE-векторы отлично сжимаются — до 32 раз с минимальной потерей качества.
Для тех. кто хочет попробовать, в репозитории проекта на Github есть реализации MUVERA на Python и C++ .
📌Лицензирование: Apache 2.0
🟡Статья
🟡Arxiv
🖥GitHub
@ai_machinelearning_big_data
#AI#ML#LLM#MUVERA#GoogleResearch
⚡️Команда Google Research представила технологию живого перевода речи в речь, которая позволяет говорить на одном языке и почти мгновенно слышать перевод на другом.
Раньше процесс проходил через три этапа: распознавание речи, перевод текста и синтез новой речи, из-за чего задержка могла достигать десятков секунд.
Исследователи оптимизировали весь конвейер, сделали обработку более устойчивой и сократили время реакции. Перевод звучит естественнее, меньше «подправляется» в реальном времени, а паузы стали значительно короче.
Технология приближает момент, когда люди смогут свободно общаться, даже если не знают языка собеседника.
https://research.google/blog/real-time-speech-to-speech-translation
@ai_machinelearning_big_data
#Google#AI#Translation#SpeechToSpeech#GoogleResearch
🚀Прорыв от Google: активное обучение с экономией данных на 10 000× при дообучении LLM
Google разработала масштабируемый процесс *active learning*, который позволяет в десятки тысяч раз сократить объём размеченных данных, необходимых для тонкой настройки больших языковых моделей на сложных задачах — например, при модерации рекламного контента.
🟢 Как работает метод:
1. Стартовая модель (LLM-0) получает промпт и автоматически размечает огромный массив данных.
2. Кластеризация выявляет примеры, где модель путается (наиболее спорные и ценные для обучения).
3. Отбор данных: из этих кластеров выбирают информативные и разнообразные примеры.
4. Экспертная разметка — только для выбранных примеров.
5. Итерации: дообучение модели → новый отбор спорных примеров → разметка → снова обучение.
🟢Результаты:
- Сокращение с 100 000 размеченных примеров до менее 500 при сохранении или улучшении качества.
- Улучшение метрики *Cohen’s Kappa* на 55–65 %.
- В больших продакшн-моделях — до 3–4 порядков меньше данных при сопоставимом или лучшем качестве.
🟢Что такое Cohen’s Kappa?
Это метрика, которая показывает, насколько два "судьи" (например, эксперт и модель) согласны между собой с поправкой на случайные совпадения.
- 0.0 — нет согласия (или хуже случайного)
- 0.41–0.60 — умеренное согласие
- 0.61–0.80 — значительное
- 0.81–1.00 — почти полное согласие
В задачах с дисбалансом классов Kappa даёт более честную оценку, чем обычная точность (accuracy).
Чем лучше предыдущих методов:
- Точечная разметка: размечаются только самые информативные примеры.
- Масштабируемость: метод применим к наборам данных с сотнями миллиардов примеров.
- Экономия ресурсов: меньше времени и затрат на разметку.
- Быстрая адаптация: подходит для доменов с быстро меняющимися правилами (реклама, модерация, безопасность).
🟢Вывод:
При умном отборе данных LLM можно адаптировать в тысячи раз быстрее и дешевле, чем при традиционном обучении на больших размеченных наборах.
#GoogleResearch#ActiveLearning#AI#LLM#MachineLearning#DataEfficiency
🟠Почитать подробно
@ai_machinelearning_big_data
#GoogleResearch#ActiveLearning#AI#LLM#MachineLearning#DataEfficiency
⚡Speculative Cascades — как ускорить работу LLM
Google Research придумали новый способ сделать большие языковые модели быстрее и дешевле.
Что это такое:
🔹Каскады
Сначала отвечает маленькая модель. Если задача слишком сложная - подключается большая. Так экономятся ресурсы, но качество может прыгать.
🔹Спекулятивная декодировка
Маленькая модель угадывает сразу несколько слов вперёд. Большая быстро проверяет данные и подтверждает. Скорость выше, но большая модель всё равно тратит много ресурсов.
🟢Speculative Cascades
Это комбинация: маленькая модель иногда отвечает полностью сама, а иногда используется как ускоритель для большой. В итоге получаем меньше затрат, больше скорости и то же качество.
🔥Что показали тесты (тестили на Gemma, T5):
- быстрее, чем обычная спекулятивная декодировка
- дешевле и качественнее, чем каскады
- удобнее настраивать баланс «скорость ↔ качество»
При том же уровне качества, что и у спекулятивной декодировки, новый метод работает быстрее (генерирует больше токенов за один вызов большой модели).
А в задачах математических рассуждений получен явный апгрейд по скорости при сохранении или даже улучшении качества.
LLM всё чаще используются в поиске, чатах, ассистентах. Чтобы они реально были полезными, их нужно ускорять и удешевлять. *Speculative cascades* помогают это сделать без потери качества.
🔗Подробнее: https://research.google/blog/speculative-cascades-a-hybrid-approach-for-smarter-faster-llm-inference/
@ai_machinelearning_big_data
#AI#LLM#Inference#SpeculativeDecoding#Cascades#GoogleResearch
⚡️ Google представила Coral NPU - открытую платформу для создания умных ИИ-устройств на Эйдж девайсах
Это полный стек для разработки локального искусственного интеллекта, который работает без облака и практически без задержек.
Coral NPU - это новый тип нейропроцессора (Neural Processing Unit), созданный для умных гаджетов, IoT и носимых устройств.
Можно обучать и запускать модели прямо на устройствах с низким энергопотреблением - от датчиков и дронов до мини-роботов и камер. Coral NPU позволяет делать это быстро и безопасно.
🧩 Врунти:
- SDK и инструменты для TensorFlow Lite и ONNX
- Компилятор, квантование и оптимизация моделей
- Поддержка Python, C++ и микроконтроллеров
Как это работает
1. Модель обучается (в TensorFlow / PyTorch).
2. Компилятор Coral NPU превращает её в оптимизированный код через MLIR → IREE → NPU binary.
3. Код работает прямо на устройстве, используя:
- RISC-V (управляет задачами)
- Векторные блоки( выполняют параллельные операции)
- Матричные ускорители MAC (считают нейронные сети за милливатты энер)гии.
Результат - ИИ-инференс с производительностью до 512 миллиардов операций в секунду, при этом устройство потребляет очень мало ресурсов и не передаёт данные в облако.
Edge AI получает свою открытую архитектуру от Google.
Подробнее: https://research.google/blog/coral-npu-a-full-stack-platform-for-edge-ai/
@ai_machinelearning_big_data
#EdgeAI#GoogleResearch#CoralNPU#RISC_V#AIHardware