1 384
Suscriptores
Sin datos24 horas
+107 días
+4830 días
Archivo de publicaciones
1 383
Repost from Data Secrets
Библиотека lingua оказалась не единственным сегодняшним дропом Meta FAIR ресерчеров. Они релизнули целую пачку крутых штук:
➡️ Meta Spirit LM: мультимодальная (речь+текст) LLM с открытым исходным кодом. Есть два варинианта модели: одна попроще, которая немного хуже справляется с генерацией звука – Spirit LM Base, и затюненая на речь Spirit LM Expressive, которая хорошо ловит почти любые интонации и отвечать умеет с более естественнным звучанием.
➡️ Meta Segment Anything Model 2.1: обновленный чекпоинт знаменитого SAM – модели для сегментации. Добавили аугментацию, немного вырастили метрики, оптимизировали модель под последовательности подлиннее.
➡️ Layer Skip: метод для ускорения инференса LLM. Идея понятна из названия: пропускаем часть слоев. Эти слои потом используются для проверки и редакции "ранних" выходов. В репозитории можно найти Layer Skip чекпоинты для Llama 3, Llama 2, и Code Llama, а также исходный код.
➡️ SALSA: моделька для взлома lattice-based криптографии (мировой стандарт шифрования). Звучит неожиданно, но все ради благой цели: "мы надеемся, что сообщество будет опираться на наши исследования, чтобы обеспечить будущую безопасность криптографических систем".
➡️ MEXMA: предобученный cross-lingual энкодер для предложений. Говорят, что хорошо работает на смежных задачах, например на классификации.
➡️ Meta Open Materials: открытые модели и датасеты для задачи materials discovery (открытие новых материалов).
➡️ Self-Taught Evaluator: новый метод генерации синтетических данных для обучения ревард моделей для RLHF без участия человеческих аннотаций.
1 383
Repost from ИОИПР (ex-NoML)
Запись семинара
Запись:
▫️ Илья Герасимов (Криптонит, ВМК МГУ), О схемах полностью гомоморфного шифрования: реализации, применение и стойкость. YouTube | Дзен | RuTube (~1 час 10 минут).
Статья:
▫️ А.A. Гаража, И.Ю. Герасимов, М.В. Николаев, И.В. Чижов, Об использовании библиотек полностью гомоморфного шифрования (On the Usage of Fully Homomorphic Encryption Libraries), 2021 (10 стр., ~30 минут).
И еще можно вспомнить подборку, в которой можно найти вводные материалы по теме:
▫️ Про гомоморфное шифрование.
1 383
Repost from Рестарт
Получаем вузовские знания сидя дома — в Твиттере нашли сайт, на котором собраны все бесплатные курсы Йельского университета.
Внутри курсы по физике, истории, психологии, социологии и другим предметам. Можно получить знания престижного универа, а также подтянуть английский.
Забираем настоящий бриллиант — здесь.
1 383
Repost from Kali Novskaya
🌸Кто теперь будет делать всю работу
Пока еще ML-щики. В обоих случаях хорошие результаты показывают агентные фреймворки и inference-time compute методы — их и стоит брать на вооружение:
🟣ReACT — фреймворк, включающий этапы Plan - Action - Self-reflection на каждом этапе генерации.
🟣ReACT Super — вариация ReACT с дополнительным действием Edit для облегченного редактирования файлов в обход bash-скриптов (агенты тоже плохо выходят из vim, видимо)
🟣AIDE / Solution Space Tree Search — метод поиска по дереву агентных решений, максимизирует качество в лимитированное время. Нужны модель-генератор, оценщик и селектор решений.
🟣MLAB из MLAgentBench — включает Reflection, Research
Plan and Status, Fact Check, Thought, а еще Action и Action Input.
🟣OpenHands из OpenDevin — SWE-ориентированный фреймворк с Actions и исполняемым кодом.
1 383
Repost from Анализ данных (Data analysis)
🔥 awesome-llm-powered-agent — полезный репозиторий, который содержит подборку различных проектов, библиотек и ресурсов, которые связаны с агентами, работающими на основе больших языковых моделей (LLM, large language models)
🌟 Здесь собраны инструменты и проекты, которые помогают разрабатывать или использовать интеллектуальных агентов для автоматизации задач и взаимодействия с окружающей средой через языковые модели
🔐 Лицензия: MIT
▪️Github
@data_analysis_ml
1 383
Repost from Kali Novskaya
🌸BigGen и Prometheus — фундаментальная автоматическая оценка LLM 🌸
#nlp #про_nlp #nlp_papers
Я много пишу про оценку качества работы LLM, бенчмарки, и вот вышла работа, методологически объедняющая практически практически все автоматические оценки отсюда.
BigGen Bench — новый бенчмарк для автоматической оценки языковых моделей от исследователей из MIT, KAIST, Allen Institute и др. 77 различных тестов делаются на основе принципа LLM-as-a-judge, то есть 5 разных внешних моделей/апишек оценивают результаты других LLM по набору критериев в промте.
77 задач включают уже ставшие стандартными индустриальные оценки, но авторы подошли к задаче аккуратно, провели работу по обобщению примеров для многих языков, провели проверку надежности автоматической оценки относительно оценки людей.
Русский язык тоже поддерживается!
Можно выстраивать лидерборд, отслеживая качество в 9 плоскостях:
Instruction Following: способность качественно следовать промптам разлиичной сложности
Grounding: обоснованность ответов модели относительно информации в промте, RAG, общих знаний модели
Reasoning: способность устанавливать причинно-следственные связи, делать выводы
Planning: построение необходимых выводов и структурированная генерация для решения задач
Refinement: способность принимать обратную связь от пользователя и адаптировать ответы в контексте диалога
Multilingual: обобщение на различных языках, чувствительность к различным культурным аспектам
Safety: в основном следование этическим принципам при генерации ответов
Theory of Mind: моделирование понимания у других людей, соотнесение их с собственным пониманием, эмоциональный интеллект
Tool Usage: использование различных API и встроенных инструкентов для решения задач.
Метод оценки эмулирует оценку human preferences настоящих людей, то есть модели-судьи не просто дают рейтинг ответу, но делают это по 5-балльной шкале Ликерта и выдают отдельно оценки релевантности, полезности, точности, детальности ответа, креативности.
5 LLM-судей это
🟣 GPT-4-1106
🟣 GPT-4-2024-04-09
🟣 Claude-3-Opus
🟣 Prometheus-2-8x7B
🟣Prometheus-2-8x7B-BGB
Две последние — это собственные модели авторов исследования, выложенные в опенсорс. Сравнение с оценками людей показывает, что эти модели практически так же надежны для оценки, как и GPT-4.
В целом лидерборд получился пока стандартный: GPT-4-различных версий > Claude 3 opus > Llama 3 70B > Claude 3 Sonnet, остальные 100+ моделей.
Можно легко брать отдельные тесты, которые нужны именно в вашем проекте, например, взять safety и сделать мониторинг на его основе.
Или просто выбрать наиболее релевантную модель на основе качества следования инструкциям или работы с API. Со своей собственной моделью-судьёй это стало ещё проще!
🟣Статья
🟣Github
🟣Leaderboard
1 383
Repost from Machinelearning
🌟 WordLlama: простой тулкит для NLP.
WordLlama — это быстрый и легкий набор инструментов для обработки естественного языка для задач нечеткой дедупликации, оценки сходства и ранжирования слов.
Он оптимизирован для CPU и способен создавать эффективные представления текстовых лексем, используя компоненты из больших языковых моделей, например LLama3.
Ключевые особенности WordLlama:
🟢Представления матрешки: пользователь могут обрезать измерения эмбеддинга по мере необходимости, 1024-dim может быть усечена до 64, 128, 256 или 512.
🟢Низкие требования к ресурсам: WordLlama эффективно работает на CPU, выполняя быстрый поиск токенов со средним пулом.
🟢Бинаризация: будущие обновления будут включать модели, которые можно упаковать в небольшие целочисленные массивы для более быстрых вычислений с использованием расстояния Хэмминга.
🟢Инференс только на основе NumPy: конструкция легкая и простая, что позволяет легко интегрировать ее в существующие рабочие процессы.
Эксперименты на наборе данных MTEB показывают, что WordLlama превосходит GloVe 300d по всем показателям, несмотря на значительно меньший размер (16 МБ против >2 ГБ).
WordLlama демонстрирует высокую производительность в задачах кластеризации, реранжирования, классификации текстов и семантического поиска.
В будущем разработчики планируют добавить функции для семантического разделения текста, а также примеры блокнотов и конвейеры RAG.
📌Лицензирование : MIT License.
🟡Demo
🖥Github
@ai_machinelearning_big_data
#AI #ML #Toolkit #NLP #WordLlama
1 383
Repost from Machinelearning
+1
🌟 Model2Vec: создание компактных и быстрых моделей на основе Sentence Transformer.
Model2Vec - библиотека для создания компактных и быстрых моделей на основе предобученных Sentence Transformer моделей.
Model2Vec позволяет создавать эмбединг-модели слов и предложений, которые значительно меньше по размеру, но при этом сопоставимы по производительности с исходными Sentence Transformer моделями.
Отличительные особенности:
🟢быстрая дистилляция, процесс создания модели занимает несколько минут;
🟢быстрый инференс, в 500 раз быстрее на CPU относительно родительской модели;
🟢BYOM и BYOV, можно использовать на любой Sentence Transformer модели с любым словарем;
🟢мультиязычность, все что нужно - только мультиязычная модель в качестве источника;
🟢интеграция с Huggingface, загрузка\выгрузка моделей привычными
from_pretrained и push_to_hub.
Пайплайн Model2Vec трехэтапный. На первом этапе словарь пропускается через модель Sentence Transformer для получения векторов эмбедингов для каждого слова.
Далее, размерность полученных эмбеддингов сокращается с помощью метода главных компонент (PCA). Наконец, применяется zipf-взвешивание для учета частотности слов в словаре.
Model2Vec работает в двух режимах:
🟠Output, в котором модель работает подобно Sentence Transformer, используя subword токенизацию;
🟠Vocab, в котором создается набор статических эмбедингов слов, аналогично GloVe или Word2Vec.
Оценку производительности Model2Vec делали на наборе данных MTEB на задачах PEARL (оценка качества представления фраз) и WordSim (оценка семантической близости слов).
Результаты показывают, что Model2Vec превосходит по производительности GloVe и модели, основанные на WordLlama по всем задачам оценки.
▶️Пример дистилляции:
from model2vec.distill import distill
# Choose a Sentence Transformer model
model_name = "BAAI/bge-base-en-v1.5"
# Distill the model
m2v_model = distill(model_name=model_name, pca_dims=256)
# Save the model
m2v_model.save_pretrained("m2v_model")
▶️Пример инференса:
from model2vec import StaticModel
# Load a model from the HuggingFace hub, or a local one.
model_name = "minishlab/M2V_base_output"
# You can optionally pass a token if you're loading a private model
model = StaticModel.from_pretrained(model_name, token=None)
# Make embeddings
embeddings = model.encode(["It's dangerous to go alone!", "It's a secret to everybody."])
📌Лицензирование : MIT License.
🟡Набор моделей
🖥GitHub
@ai_machinelearning_big_data
#AI #ML #LLM #Embedding #Model2Vec1 383
Repost from Data, Stories and Languages
Anthropic: Mapping the Mind of a Large Language Model
Anthropic выпустил новую статью/блогпост - про то, как "думает" Claude Sonnet.
Из среднего слоя модели извлекли фичи и стали их визуализировать и анализировать. Нашли группы признаков, относящимся к разным понятиям - городам, людям, научным понятиям и так далее. Было и более абстрактного - типа гендерного bias или багов в коде.
Но просто увидеть это - не так интересно, прикольно то, что они смогли "манипулировать" этими признаками. Условно говоря, можно повысить признак веса "Golden Gate Bridge", и модель будет значительно чаще говорить про него, даже когда вопрос вообще никак с ним не связан.
А теперь к любимой теме Anthropic - к безопасности и alignment. Один из найденных признаков отвечает за понимание скама/развода в письмах. Обычно модель отказывается генерить письма со скамом, но если увеличить вес этой "фичи", модель без проблем будет заниматься разводом лохов :)
Польза в том, что можно подавлять подобные "плохие" темы и улучшать безопасность модели - делать модель менее социопатичной, "отключать" ответы на определенные темы и так далее.
Правда, боюсь, что с тем же успехом можно делать и обратное - двигать какую-нибудь повестку, рекламировать товары или просто отстаивать какую-то точку зрения.
Желающие могут почитать подробности в блогпосте или в детальной статье с кучей клёвых визуализаций и инсайтов.
#datascience
1 383
Repost from Machinelearning
+2
⚡️ OpenAI Swarm: Экспериментальный фреймворк для оркестрации мультиагентных систем.
Swarm - это экспериментальный фреймворк, разработанный командой OpenAI Solutions, для создания, оркестрации и развертывания многоагентных систем. Фреймворк фокусируется на упрощении координации, запуска, контроля и тестирования агентов.
Основная цель Swarm - продемонстрировать паттерны, описанные в Orchestrating Agents: Handoffs & Routines cookbook.
Фреймворк построен на двух основных абстракциях: агентах (
Agent) и передачах управления (handoffs):
Агент - это набор инструкций и функций, который может передавать выполнение другим агентам. Его можно использовать для описания конкретного рабочего процесса или шага (например, последовательность шагов, сложный поиск, одноэтапное преобразование данных и так далее).
Передача управления — это процесс, при котором агент может передать запрос другому агенту, возвращая его в функцию. В процессе передачи управления также происходит обновление переменных контекста, что позволяет вернуть более полный объект Result.
▶️В репозитории собраны функциональные примеры Swarm:
🟢basic - простые примеры настройки, вызова функций, передача данных и контекстные переменные;
🟢traige agent - пример роя с агентом сортировки, который принимает пользовательские данные и решает, ответить ли на запрос напрямую или передать его агенту по продажам или возврату денег;
🟢weather agent - погодный агент с вызовом функций (запрос по городу и отправка на e-mail);
🟢airlines - мультиагентный пример обработки клиентских запросов в контексте авиакомпании (сортировка запросов, изменения рейсов, отмены бронирований и случаи потери багажа);
🟢support_bot - клиентский бот центра поддержки с несколькими инструментами;
🟢personal shopper - пример роя агентов персонального торгового агента, который может помогать совершать покупки и возвращать заказы;
⚠️ Swarm не использует API Assistants и полностью работает на API Chat Completions.
⚠️ Swarm не предназначен для промышленного использования и не имеет официальной поддержки.
▶️ Локальная установка и запуск:
# Install from PIP
pip install git+https://github.com/openai/swarm.git
# Usage
from swarm import Swarm, Agent
client = Swarm()
def transfer_to_agent_b():
return agent_b
agent_a = Agent(
name="Agent A",
instructions="You are a helpful agent.",
functions=[transfer_to_agent_b],
)
agent_b = Agent(
name="Agent B",
instructions="Only speak in Haikus.",
)
response = client.run(
agent=agent_a,
messages=[{"role": "user", "content": "I want to talk to agent B."}],
)
print(response.messages[-1]["content"])
📌Лицензирование : MIT License.
🖥GitHub
🟡Orchestrating Agents Cookbook
@ai_machinelearning_big_data
#AI #ML #Agents #OpenAI #Swarm1 383
Repost from Codeby
Apktool
Apktool - является одним из популярных инструментов Kali linux для реверс-инжиниринга приложений для Android.
Инструмент очень популярен у хакеров, поскольку позволяет разобрать APK-файл и собрать его занаво. Пока APK в разобранном состоянии, хакер может модифицировать его, как ему только захочется.
Программа apktool не устанавливается по умолчанию.Пример использования программы:
# apktool decode app.apkПрограмма разберёт по полочкам APK и положит его в содержимое в каталог с таким же названием, как у APK-файла. После этого у вас есть возможность изменить любой файл. Использование apktool в самых мирных целях подразумевает возможность установки двух одинаковых приложений на телефон. Откройте файл AndroidManifest.xml и измените название пакета:
package=""Здесь нужно ввести другое название пакета. После этого можно собрать APK заново. При сборке нужно подписать его тем же сертификатом, иначе ничего не выйдет. Собираем:
# apktool build app app2.apkЧтобы подписать приложение, можно использовать SmartAPKTools.
