Интересное что-то
517 subscribers
2.72K photos
253 videos
140 files
4.53K links
Материалы и мысли, понадерганные отовсюду
Блог: https://t.me/asisakov_channel
Чат: https://t.me/youknowds_chat
Download Telegram
Forwarded from эйай ньюз
Запускаем Voice Mode ChatGPT если вы не из США 😆

и устанавливаем официальную апку на андройд.

Недавно интернет заполонили тесты новой фичи OpenAI, которую (наконец-то!) раскатили для всех платных подписчиков аккурат перед презентацией Meta, ведь там тоже показали голосовой режим.

Но потестить новый функционал в OpenAI удалось далеко не всем, потому что большинство русскоговорящих пользователей используют чат в браузере, где Voice Mode не работает, а приложения в плейсторе нет.

#гайд ChatGPT из Play Market и как пользоваться им без VPN.

Шаг 1. Самый муторный.
Меняем страну аккаунта Google на США.

(Можно попытаться пропустить этот шаг и скачать apk с какого-нибудь зеркала, но, скорее всего, это не сработает)

1.1 Открываем payments.google.com > Настройки.

1.2 Создаём новый платёжный профиль в США. Жмём на карандаш рядом с пунктом «Страна», см. скрин.

1.3 Переходим на сайт bestrandoms.com и генерируем американский адрес.
(Желательно в Аляске — если вдруг что-то будете оплачивать с карты US, не будет налога. Аналогично можно сгенерировать адрес для других стран и карт)

1.4 Для надёжности можно удалить старый non-US профиль.

1.5 Заходим в Google Play (Play Market) > Настройки > Общие > Настройки аккаунта и устройства. В разделе «Страна и профили» меняем страну на США.

Плеймаркет обновится не сразу, так что если не получилось с первого раза, подождите ещё суток, и приложение появится. (По крайней мере вышло именно, так когда мы тестировали)


Шаг 2. Кайфовый.
Включаем Private DNS.

2.1 Открываем настройки устройства, вводим в поиске «Private DNS» и вписываем туда адрес сервиса DoT от Comss (подробнее здесь).

2.2 Идём в Настройки > Подключение и общий доступ > Частный DNS сервер и вставляем туда адрес: comss.dns.controld.com.

2.3 Всё! Теперь ChatGPT (а также Bing, Bard и Claude) будет работать без VPN. К тому же, это избавит от большей части рекламы на сайтах и в приложениях, ещё и повысит безопасность сети.

Шаг 3. Финальный.
Устанавливаем приложение ChatGPT из Google Play.

3.1 Установили.

3.2 Вошли.

Готово! Если у вас есть подписка, то Voice Mode уже должен быть доступен. Делитесь своими экспериментами в комментах.

Источник 4PDA

@ai_newz
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Сиолошная
DuoAttention: Efficient Long-Context LLM Inference with Retrieval and Streaming Heads

В конце апреля разбирал статью про Retrieval Heads (пост является пререквизитом для понимания этого) — механизм в LLM, который позволяет модели находить и копировать нужные факты из части промпта. Если вы даёте на вход 10 страниц текста и задаёте вопрос — Retrieval Heads обратят внимание на потенциальные место ответа и «вытащат» его. Когда Retrieval Heads лажают, появляется контекстуальная галлюцинация.

Однако чем длиннее контекст, тем дольше работает модель — ведь нужно сделать больше вычислений, и, что не менее важно, хранить больше данных в памяти (обо всех прошлых страницах). Такое называется KV cache.

Фреймворк DuoAttention предлагает следующее:
1) генерируем набор синтетических данных, в которых точно требуется «вспоминать» контекст (в промпт вставляют части «запомни это: <длинное предложение>», а в коцне просят написать все такие части)
2) прогоняем его через модель и сохраняем выходные значения (последние эмбеддинги)
3) дальше тренируем модель-маску, которая описывает зануление/занижение оценок каждой головы (которая может быть Retrieval Heads). Тренировка производится с L1 регуляризацией, чтобы проредить маску. Идея такая, что если мы зануляем Retrieval Head, то это существенно ломает предсказания модели на задаче «вспоминания» частей промпта, а если что-то другое — то влияние минимально
4) после обучения на ~2000 шагов (несколько часов, в зависимости от модели и GPU) остаётся финальная маска влияния на возможность модели свпоминать. В ней значения бинаризуются (на 1 и 0) через сравнение с некоторой константой, подбираемой по перцентилю
5) этот процесс нужно повторять самому для каждой модели один раз перед запуском

Всё! Теперь маску можно применять: значения Retrieval Head сохраняются для всех слов, а остальная информация отбрасывается, если находится дальше, чем K токенов от текущего места. Например, если вы обрабатываете 50'000 токенов, то держите на готове последние, скажем, 1024 токена (и весь KV cache для них), и значения Retrieval Head для всех остальных 49k. Если модели нужно обратиться к данным из начала промта — у нас для этого сохранена лишь часть данных, которая, как показывают эксперименты, достаточна для того, чтобы вспомнить их.

На экспериментах с длинным контекстом показывают, что если брать половину всех Heads (то есть подбирать такой порог, чтобы ровно половина отсекалась), то:
— на одну карту с 80GB для 8B модели теперь влазит 3.3M токенов контекста (если делать квантизацию кэша; без DuoAttention 1.8M, без квантизации всего 0.52M)
— потребление памяти меньше в 1.67-2.55 раз — потому что надо меньше хранить в памяти, мы часть выкидываем
— задержка генерации меньше в 1.5-2.18 раз — потому что нужно меньше считать

Очень хороший пример как методы интерпретации (обнаружение Retrieval Heads) позволяют улучшать практические кейсы с использованием моделей.
Forwarded from Aspiring Data Science (Anatoly Alekseev)
#featureselection #chan

Я напомню про вот эту классную лекцию по отбору признаков и оценке их важности. Эрни тут даёт неправильное определение bias & variance (нет, это не in-sample vs out-of-sample ошибки, но я понимаю его идею).
Что же касается важности, они действительно для одной и той же модели значительно меняется при разных случайных сидах ) Так что имейте в виду и усредняйте оценки.

https://www.youtube.com/watch?v=2-5HYJ0HhyQ
Forwarded from Архитектура ИТ-решений (Maxim Smirnov)
The Solution Architect As Product Manager – новая сотня слайдов от автора учебника по архитектуре решений Alan McSweeney. Краткое резюме (см. слайд 98):
- Давно существуют и широко применяются проработанные подходы к разработке и развитию потребительских продуктов/решений/услуг (в тексте даже упомянут New Product Development (NPD) Stage Gate)
- Архитектура решений может использовать их двумя способами. Первый в том, чтоб расширить восприятие ландшафта изменения (а не ограничиваться доработкой ИТ-систем)
- Второй, для выбора действительно важных и актуальных изменений из огромного множества потенциально возможных изменений (я называю это воронкой инициатив)
- Роль архитектора решений идеально подходит для выполнения этих функций
Forwarded from Архитектура ИТ-решений (Maxim Smirnov)
Кстати, про архитектурные ката.
Еще один сборник ссылок описаний архитектуры решений победителей и призеров O'Reilly Software Architecture Katas можно посмотреть в ката-логе: https://github.com/TheKataLog
Forwarded from Quant Researcher
👽 Делимся крутыми материалами по графовым методам в трейдинге

Графовые методы — мощный инструмент в арсенале количественного инвестора, позволяющий анализировать сложные взаимосвязи.

Рынки — это сети, где активы представляют собой узлы, а связи между ними — ребра графа, которые могут отражать разнообразные метрики: корреляции, объемы торгов или влияние сентиментов.

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


🤘 Примеры использования

Корреляционные сети
Один из популярных подходов — построение графов, где узлы — это активы, а ребра отражают степень корреляции между ними. В таких сетях можно выявить группы активов, демонстрирующих схожее поведение на рынке.


# Упрощенный пример

import pandas as pd
import networkx as nx
import matplotlib.pyplot as plt

# Загрузка данных
returns = pd.read_csv("your_data_here.csv")
correlation_matrix = returns.corr()

# Создание графа
G = nx.from_pandas_adjacency(correlation_matrix)

# Визуализация
nx.draw(G, with_labels=True)
plt.show()


Анализ сетей ликвидности
Ликвидность на рынке распределена неравномерно. Графовые методы позволяют определить узловые активы (центры ликвидности), через которые проходит наибольший объем торгов. Такие узлы могут играть ключевую роль в стабильности или волатильности рынка.

Идентификация центральных активов и кластеризация
Важной задачей графового анализа является выявление центральных активов, которые оказывают наибольшее влияние на рынок. Используя метрики центральности (degree, betweenness, closeness), можно определить активы, которые занимают важные позиции в сети.

Анализ цепных реакций
Графы также позволяют анализировать цепные реакции на рынке. Падение одного актива может вызвать каскадное снижение других активов, с которыми он тесно связан. Графовые модели помогают идентифицировать такие потенциальные цепочки.

🫰 Материалы по теме

1. Базовая база с примерами кода по графам. С этого можно начать.

2. Собираем портфель по графу, сравниваем с минволом. Интересное.

3. Собираем интерактивные графы в Plotly. Красивое, можно переиспользовать.

4. Графовые нейронные сети в торговле. Технологичное, но над результатами надо поработать.

Quant Researcher
Forwarded from Concise Research (Sergey Kastryulin)
Сегодня поговорим про масштабирование моделей и данных в диффузии.

Scaling Laws For Diffusion Transformers

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

Зато они являются основным вкладом этой работы. Вдохновившись Шиншиллой, авторы проводят ряд экспериментов на небольших выч. бюджетах и строят sns.color_palette("mako”) 🌿isoFLOP кривые по числу параметров и лоссам, из которых далее получают кривые зависимости размеров моделей и необходимого на их обучение компьюта. Экстраполяцией графиков получают предсказание того каким будет лосс обучения (сравнительно скромного) 1B DiT.

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

Pruning then Reweighting: Towards Data-Efficient Training of Diffusion Models

Можно масштабировать модели по параметрам и компьюту, а можно по данным и их качеству. Авторы утверждают, что делают второе первыми в мире, что не совсем правда потом что есть Broken Neural Scaling Laws и исследование в YaART.

Интересна эта работа тем что авторы смотрят не только на увеличение красивости генераций в терминах FID или каких-то визуальных сравнений, а еще и стараются сохранить полноту знаний за счет поддержания баланса классов. На экспы с CIFAR не тригеримся, дальше есть SD и MDT хотя бы на ImageNet.

EvolveDirector: Approaching Advanced Text-to-Image Generation with Large Vision-Language Models

Известно, что если подмешать в обучающий/файнтюновый датасет немного синтетики из какой-нибудь JourneyDB, то это улучшит качество итоговой модели. Эффект похож на дистилляцию, только вместо прямого сигнала из модели-учителя вы используете результаты её работы.

Авторы спрашивают: если задаться целью обучить модель на синтетике порожденной другой моделью, сколько её понадобится и можно ли превзойти учителя по качеству? Сразу вспоминается работа про self-distill, где показывалось, что если делать self-distill итеративно, то модели коллапсируют.

Так вот, сначала авторы пробуют взять 11М промтов из SAM и нагенерить по ним синтетики через PixART. Так получается догнать сам PixART, учившийся на 14М пар. Проблема такой неэффективности в неинформативных и сильно повторяющихся промтах. Для устранения проблемы берут VLM, кепшенят картинки и по кепшенам снова деляют генерации. Показывают, что теперь уже 100к семплов становится достаточно чтобы догнать учителя. А если взять несколько топ моделей, сделать генерации каждой из них, а потом отобрать лучшие VLM’кой, то можно превзойти каждую из моделей в отдельности 👀
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Start Career in DS
☁️ RAG: концепция [Ч.1]

🚫
Современные LLM обладают впечатляющими навыками решать новые задачи без необходимости обучения. Однако, если в тренировочном датасете были данные или факты, имеющие временную изменчивость, то ответы модели могут приводить к галлюцинациям.

📌 Базовый пример: мы хотим, чтобы LLM отвечала по внутренним документам нашей компании для помощи клиентам.

Очевидно, что любая LLM не имеет точных и актуальных знаний для правильного ответа на любые запросы подобного рода, поэтому и была придумана RAG-концепция.

🔍 RAG (Retrieval Augmented Generation) - метод поиска и извлечения релевантных данных по пользовательскому запросу из внешней или внутренней базы знаний с целью расширить контекст модели актуальной информацией.

🗂 В качестве базы знаний тут могут выступать различные структурированные (базы данных, таблицы) и неструктурированные (книги, журналы, документы) источники информации.

❗️Глобально RAG помогает решать не только проблему актуализации данных, но при этом экономит много ресурсов и времени для продукта, если бы задача обновления знаний решалась через дообучение LLM.

Разберем основные части RAG:

- Retrieval - часть системы, которая отвечает за поиск и извлечение информации, так и называют — ретривер (retriever).
- Retrieval Augmented — дополнение запроса пользователя найденной релевантной информацией.
- Retrieval Augmented Generation — генерация ответа пользователю с учетом дополнительно найденной информацией.

📚 Дополнительное чтиво:
- Простое объяснение RAG на Хабре
- Подробно о генерации с дополненной выборкой на AWS Amazon
-
GPT и RAG технологии в Базе знаний InKnowledge

В следующих частях данной серии поговорим про современные подходы к построению RAG, а также от нашей команды вы получите общий справочник по данной теме.
Ставьте ❤️ и 🔥 за интересный пост!
До встречи👋
Forwarded from Start Career in DS
🦜🔗LangСhain - библиотека, расширяющая возможности LLM

Недавно в нашем канале был опубликован пост Hugging Face Hub и библиотека transformers, а сегодня мы хотим расширить тему наиболее популярных инструментов при работе с LLM и расскажем про ключевые особенности библиотеки и всей экосистемы LangChain.

LangСhain - популярная библиотека, которая упрощает разработку LLM-Driven приложений, предоставляя все необходимые инструменты для создания агентских систем, цепочек вызовов и взаимодействия языковых моделей с внешними API.

Основные особенности LangChain:

1️⃣ RAG (Retrieval Augmented Generation)
В нашем предыдущем посте мы рассказывали про концепцию создания RAG-систем. LangChain оснащен всеми необходимыми инструментами для построения классического RAG.
Например, перед вами поставили задачу построить QnA чат-бота в онлайн-поддержке. С помощью LangChain вы сможете сформировать правильную базу знаний из источников, по которым должен отвечать бот, и на пользовательский запрос находить релевантные части потенциальных ответов для дальнейшей генерации конечного ответа LLM’кой.

2️⃣ Chains (цепочки)

LangСhain запросто позволяет создавать последовательности операций (цепочки) для задач обработки естественного языка, которые могут состоять из различных этапов обращений к LLM, использованию внешних API и составления промптов.
Такой подход может использоваться абсолютно в любой задаче, где процесс обработки пользовательского запроса моделью имеет цепочечный вид: запрос пользователя -> формирование промптов для модели -> получение ответа модели -> преобразование ответа и вывод.
Более детально про цепочки в LangChain читайте из официальной документации.

3️⃣ Агентские системы
Концепция Агентов сейчас набирает большую популярность в задачах, где LLM могут использоваться для решения более сложных задач, нежели просто генерация текста.
Например, дать возможность LLM вызывать API прогноза погоды для предоставления актуальной информации пользователю по данному вопросу. В роли API может выступать более продвинутые инструменты - базы данных, несколько API, пользовательские функции. LangChain расширяет возможности работы LLM в такой роли и упрощает разработку агентских-систем.

4️⃣ LangGraph
Это дополнительная библиотека в экосистеме LangChain, которая позволяет создавать рабочие процессы на основе графов. Сюда может входить, как создание рабочих цепочек, исполняющихся агентом, так и формирование графов знаний, который могут выступать заменой классическим базам знаний в RAG.
🔥Введение в LangGraph смотрите тут и тут

5️⃣ LangSmith
Среда для создания LLM-Driven приложений, которая объединяет все инструменты экосистемы LangChain, а также даёт возможность визуально отслеживать и улучшать разработку таких приложений.
Например, отображает RAG-пайплайн и выводит логи на каждом шаге.
🔥 Изучение LangSmith можете начать тут и тут

📌 Что ещё стоит изучить:
- Серия практикоориентированных постов на Хабре по созданию AI-агентов с помощью LangChain
- Официальный LangChain CookBook с огромным количеством реализаций различных задачек с LLM под капотом
- Как создана концепция экосистемы из официальной страницы
-
Дополнительно про агенты читайте здесь

В следующем посте хотим рассказать про особенности AI-Агентов на базе LLM!
Ставьте:
🔥 - если текущий пост был полезен!
❤️ - если ждете следующий!
До встречи👋🏻