ML&|Sec Feed
1.3K subscribers
1.25K photos
81 videos
291 files
1.94K links
Feed for @borismlsec channel

author: @ivolake
Download Telegram
Forwarded from CyberSecurityTechnologies (-CST-)
RAG.pdf
4.2 MB
#Research
"Unleashing Worms and Extracting Data: Escalating the Outcome of Attacks against RAG-based Inference in Scale and Severity Using Jailbreaking", 2024.
This media is not supported in your browser
VIEW IN TELEGRAM
🎵 EZAudio - это новая модель преобразования текста в аудио (T2A).

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

https://huggingface.co/spaces/OpenSound/EzAudio

@data_analysis_ml
Forwarded from GitHub Community
FrostDB — это встраиваемая широкостолбцовая колоночная база данных, написанная на Go.

Она имеет полуструктурированные схемы, использует Apache Parquet для хранения и Apache Arrow во время запроса.

4️⃣ GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from NoML Digest (Pavel Snurnitsyn)
Про RL

Запись вчерашнего семинара скоро будет, а пока список литературы и материалов из доклада Сергея:

Книги:
▫️ R.S. Sutton, A.G. Barto, Reinforcement Learning, 2018, есть перевод (~550 стр.);
▫️ M. Lapan, Deep Reinforcement Learning Hands-On, 2020, есть перевод (~540 стр.);
▫️ L. Graesser, W.L. Keng, Foundations of Deep Reinforcement Learning, есть перевод (~410 стр.).

Вводная статья:
▫️ B. Jaeger, A. Geiger, An Invitation to Deep Reinforcement Learning, 2023 (38 стр.).

Курс:
▫️ Deep Reinforcement Learning Course

Кейс команды GlowByte Advanced Analytics:
▫️ Как Reinforcement Learning помогает ритейлерам, 2020 (14 минут).

И еще пара статей:
▫️ Y. Lin et al., A Survey on Reinforcement Learning for Recommender Systems, 2021 (20 стр., ~1,5 часа);
▫️ F. Chen et al., BCRLSP: An Offline Reinforcement Learning Framework for Sequential Targeted Promotion, 2022 (7 стр., ~30-40 минут).
Forwarded from GitHub Community
Enclosed — минималистичное веб-приложение, предназначенное для отправки конфиденциальных и безопасных заметок.

Все заметки зашифрованы сквозным шифрованием, что гарантирует, что сервер и хранилище не имеют никаких сведений о содержании.

4️⃣ GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from DeepSchool
​​CVAT SDK PyTorch Adapter

Если вам надоело вручную выгружать задания от разметчиков и объединять их для загрузки на сервер, то эта статья для вас.

В новом материале обсудим:
- как загрузить данные из CVAT напрямую в torch.utils.data.Dataset;
- советы при работе с CVAT PyTorch SDK;
- недостатки SDK на данный момент.

Читайте новую статью по ссылке, чтобы готовить датасеты быстрее: https://deepschool-pro.notion.site/CVAT-SDK-PyTorch-Adapter-e223563927454322a8d56076e59b8b17
🖥 pipe func - инструмент для создания простого функционального конвейера (DAG) на чистом Python для задач по анализу данных и научных вычислений 🕸️🧪

DAG — это ориентированный ациклический граф, концептуальное представление серии действий или, другими словами, математическая абстракция конвейера данных (data pipeline).

Github

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from NLP Wanderer
🔥 Новые модели Vikhr: Приближаемся к локальной gpt-4o-mini, собственный метод алайнмента и Grounded RAG

Мы выпускаем в релиз свои лучшие модели и тулкит алайнмента. который использовался для их тренировки.

Итак, наш флагман - Vikhr-Nemo-12B-Instruct-R-21-09-24 (карточка на HF)

12B модель на основе Mistral-Nemo, с качеством на русском языке в некоторых задачах не хуже gpt-4o-mini и имеет 128к токенов контекста, была специально заалайнена под решение широкого спектра задач на реальных и синтетических вопросах пользователей, включая код, математику, суммаризацию, ризонинг, ответы в специальном формате (JSON/HTML и тд) и многие другие.

Модель получила винрейт 79.8 (относительно gpt-3.5-turbo) на оффлайн бенчмарке Ru-General-Arena, что лучше любой текущей опенсорс модели до 30В для русского языка.

Для достижения такого качества мы собрали большой инструктивный датасет со втроенным CoT, что позволило сильно прочкать ризонинг модели, далее обучили Reward модель, сделали Rejection Sampling и применили собственный метод SMPO (вариация DPO) для выполнения преференс-тюнинга.

Вторая модель - Vikhrmodels/Vikhr-Llama3.1-8B-Instruct-R-21-09-24 (карточка на HF)

Так же обучена Llama-3,1-8B и имеет аналогичный размер контекста в 128k токенов. Винрейт на Ru-Arena-General - 63.9, что делает ее одной из лучших 8B моделей дла русского языка.

Модели обучены работать с RAG

Обе модели имеют уникальную особенность - они заалайнены для работы с RAG, т.е. используя системный промпт и спец. роль documents, вы сможете подавать ей документы в стандартизированной форме (JSON). При этом сам текст каждого документа может быть грязным чанком HTML, Markdown или Plain text формата до 4к символов каждый.

Модели умеют выделять информацию из предоставленных документов самостоятельно, реализуя таким образом "реранкер" на уровне LLM. Это сделано за счет двух-этапного ответа. Первый ответ модели представляет из себя JSON со списокм релевантных идентификаторов документов, а второй, если юзер его запросит, будет уже текстовым ответом модели на вопрос пользователя.

Благодаря такому обучению, на нашем бенчмарке для RAG (судья gpt-4o) Vikhr-Nemo показала качество в RAG задачах даже лучше, чем gpt-4o-mini (цифры в карточках моделей)

SMPO - Simple Margin Preference Optimization

Наш собственный метод выравнивания, разработанный для стабилизации прцоесса PO. Этот метод во многом заимствует идеи IPO, SimPO, C-RLFT, а также содержит собственную функцию потерь для разделения выбранных и отклоненных пар, отказываясь от классической сигмойды.

Основная идея метода заключается в стремлении плавно достичь желаемого уровня margin, не заставляя модель переобучаться, в том числе с помощью добавления балансирующего SFT лосса для выбранных и отклоненных вариантов одновременно.

Тулкит на Github - effective_llm_alignment

Репозиторий содержит скрипты и конфиги которые использовались для всех этапов обучения моделей. он позволяет удобно работать с основными методами алайнмента для LLM, включая наш SMPO.

Больше подробностей о моделях, как с ними работать, бенчмарках, процедуре обучения, вы можете найти в их карточках на HF.

Поиграться с Vikhr-Nemo-12B можно в tg bot_e (@vikhrbot), Gradio инференс
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Forwarded from Purple Team Diary's (MRL)
Анализ признаков влияющих на предсказание нейронной сети

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

Одним из эффективных способов достижения этой цели является вычисление градиентов.

Определим функцию compute_gradients, которая будет вычислять градиенты предсказаний модели по отношению к входным данным:

import tensorflow as tf

@tf.function
def compute_gradients(inputs):
with tf.GradientTape() as tape:
tape.watch(inputs) # Следим за входными данными
predictions = best_model(inputs) # Получаем предсказания от модели
return tape.gradient(predictions, inputs) # Вычисляем градиенты


@tf.function: Этот декоратор позволяет TensorFlow оптимизировать выполнение функции, превращая ее в граф (повышает производительность).

tf.GradientTape(): Контекстный менеджер, который отслеживает операции с тензорами, что позволяет вычислять производные.

tape.watch(inputs): Указывает, что мы хотим следить за изменениями в inputs.

tape.gradient(predictions, inputs): Вычисляет градиенты предсказаний модели по отношению к входным данным.

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

# Пример входных данных
sample = tf.convert_to_tensor(X_test[:1], dtype=tf.float32)

# Вычисление градиентов
grads = compute_gradients(sample).numpy()

# Расчет средних абсолютных градиентов по всем признакам
mean_grads = np.mean(np.abs(grads), axis=(0, 1))

# Сортировка признаков по важности
important_features_idx = np.argsort(mean_grads)[::-1]
sorted_features = X.columns[important_features_idx]
sorted_importances = mean_grads[important_features_idx]

print("Важность признаков:", sorted_features)


sample = tf.convert_to_tensor(X_test[:1], dtype=tf.float32): Преобразуем первый пример из тестового набора в тензор TensorFlow.

compute_gradients(sample).numpy(): Вызываем функцию для вычисления градиентов и преобразуем результат обратно в массив NumPy.

np.mean(np.abs(grads), axis=(0, 1)): Вычисляем среднее значение абсолютных градиентов для каждого признака.

np.argsort(mean_grads)[::-1]: Получаем индексы признаков, отсортированных по убыванию их важности.

sorted_features и sorted_importances: Получаем отсортированные названия признаков и их значения.

Гистограмма:
plt.figure(figsize=(10, 6))
plt.barh(sorted_features, sorted_importances, color='skyblue')
plt.xlabel('Средний абсолютный градиент')
plt.ylabel('Признаки')
plt.title('Наиболее важные признаки')
plt.gca().invert_yaxis()
plt.show()


В результате выполнения кода получим список признаков, отсортированных по их важности для модели. Это поможет лучше понять, какие входные данные оказывают наибольшее влияние на предсказания модели и, возможно, позволит улучшить ее качество за счет фокусировки на наиболее значимых признаках.

#ML
Forwarded from CodeCamp
Разрабы, внимание: большинство моделей от Mistral теперь доступны бесплатно по API!

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

Не нужен ни VPN ни карточка.