Анализ данных (Data analysis)
46.3K subscribers
2.31K photos
264 videos
1 file
2.05K links
Data science, наука о данных.

@haarrp - админ

@itchannels_telegram - 🔥 главное в ит

@ai_machinelearning_big_data - ML

@machinelearning_interview - вопросы с собесдований по Ml

РКН: clck.ru/3FmyAp
Download Telegram
Forwarded from Machinelearning
🔥 Memory pinning для ускорения обучения моделей

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

...изменив всего две строки кода.


Рассмотрим стандартный цикл обучения модели в PyTorch (См Картинку 1)

В этом коде:
- Строка 5 передает данные в GPU из CPU.
- Все выполняется на GPU после передачи данных, то есть в строках 7-15.

💡 Это означает, что когда работает GPU, CPU простаивает, а когда работает CPU, GPU простаивает, наглядно(См Картинку 2)

⚡️ Но вот что мы можем сделать, чтобы оптимизировать:

- Когда модель обучается на 1-м батче, CPU может передать 2-й батч на GPU.
- Таким образом, GPU не придется ждать следующего батча данных, как только он завершит обработку существующего батча.

👉 Иными словами, график использования ресурсов будет выглядеть примерно так (См Картинку 3)

💡 В то время, когда CPU будет простаивать, GPU (который является фактическим ускорителем для обучения модели) гарантированно будет иметь данные для работы.

Формально этот процесс известен как memory pinning, и он используется для ускорения передачи данных от CPU к GPU, делая процесс обучения асинхронным.

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

👉 Включить эту функцию в PyTorch довольно просто. Во-первых, при определении объекта DataLoader надо установить pin_memory=True и указать num_workers (См Картинку 4)

Далее, на этапе передачи данных в шаге обучения укажите non_blocking=True (См Картинку 5)

⚡️ Готово!

Вот как работает ускорение на примере набора данных MNIST в обучении простой нейронной сети (См Картинку 6)

- Без memory pinning обучение модели на 5 эпохах занимает около 43 секунд:
- а с использованием memory pinning та же модель обучается менее чем за 10 (!!!) секунд 🔥(См Картинку 7)

📌 Важные особенности использования memory pinning:

- если несколько тензоров будут выделены в "привязанную" память, это приведет к резервированию значительной части оперативной памяти.

Поэтому, всякий раз, когда используете memory pinning - отслеживайте потребление RAM!

- когда набор данных относительно мал, memory pinning имеет незначительный эффект, поскольку передача данных от CPU к GPU все равно не занимает столько времени (См Картинку 7)

📌 Полная версия

@ai_machinelearning_big_data
🔥18👍75🌭2
🖥 Репозиторий на Github, в котором собраны лучшие промпты для всевозможных задач, а также способы обхода цензуры LLM

🌟Списки постоянно обновляются, последнее обновление было 3 дня назад!

Здесь можно найти запросы под всевозможные сферы: от IT до бизнес - советов.

▪️Github

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍187🔥2🌭2
✔️ YOLO11: новая эра в компьютерном зрении.

Компания Ultralytics представила YOLO11, новейшую версию своей знаменитой модели искусственного интеллекта для компьютерного зрения.

YOLO11 поддерживает широкий спектр задач CV: обнаружение объектов, сегментацию экземпляров, классификацию изображений, оценку позы, обнаружение ориентированных объектов (OBB) и отслеживание объектов. Модель получила улучшенное извлечение признаков.

YOLO11m достигает более высокого балла средней средней точности (mAP) в наборе данных COCO, используя на 22% меньше параметров, чем YOLOv8m.
YOLO11 вскоре будет доступна через Ultralytics HUB и пакет Ultralytics Python.

ultralytics.com
Please open Telegram to view this post
VIEW IN TELEGRAM
27🔥11👍3🌭2🕊1
⭐️ NLPAug – это библиотека на языке программирования Python, которая помогает улучшить работу нейросетей при решении задач обработки естественного языка (NLP) без необходимости изменять архитектуру этих сетей и проводить их тонкую настройку.

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

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

Кроме того, NLPAug может заменить слова на основе контекста с помощью моделей трансформеров, таких как BERT-сети, а также выполнять двойной перевод текста на другой язык и обратно.

🖥 Библиотека доступна на GitHub: https://github.com/makcedward/nlpaug

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3🔥2🥱1🌭1
🖥 Llama Assistant — это локальный AI-помощник на основе модели Llama 3.2, предназначенный для выполнения повседневных задач. Он поддерживает голосовые команды и обработку естественного языка, а также может выполнять различные команды: от резюмирования текста и написания электронных писем до решения задач.

🌟 Проект работает офлайн, и нацелен на сохранение конфиденциальности данных.

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

🔐 Лицензия: MIT

▪️Github

@bigdatai
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥65🌭1
👩‍💻 Langfun — это библиотека с открытым исходным кодом, разработанная Google.

В ней используется объектно-ориентированное программирование (ООП) для взаимодействия с LLM моделями, что упрощает создание и управление запросами через объекты и типы

🌟 Langfun поддерживает популярные LLM, такие как GPT, Claude и Llama, и легкоинтегрируется в Python-проекты.

Простота использования и мощный функционал делают библиотеку полезным инструментом для разработки ИИ-агентов и работы с большими языковыми моделями

🔐 Лицензия: Apache-2.0

▪️Github

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍166🔥3
🔥 Огромный список литературы по теме Генерации синтетических данных для Больших Языковых моделей.

🔗 Ссылка на Github: *клик*

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍144🔥1
🌟 Zamba2-Instruct: две гибридные SLM на 2.7 и 1.2 млрд. параметров.

Zamba2-Instruct - семейство инструктивных моделей на архитектуре Mamba2+Transformers для NLP-задач.

В семействе 2 модели:

🟢Zamba2-1.2B-instruct;
🟠Zamba2-2.7B-instruct.

Высокая производительность семейства по сравнению с релевантными Transformers-only моделями достигается за счет конкатенации эмбедингов модели с входными данными для блока внимания и использование LoRA projection matrices к общему MLP-слою.

Модели файнтюнились (SFT+DPO) на instruct-ориентированных наборах данных (ultrachat_200k, Infinity-Instruct, ultrafeedback_binarized, orca_dpo_pairs и OpenHermesPreferences).

Тесты Zamba2-Instruct продемонстрировали внушительную скорость генерации текста и эффективное использование памяти, обходя MT-bench более крупные по количеству параметров модели/ (Zamba2-Instruct-2.7B превзошла Mistral-7B-Instruct-v0.1, а Zamba2-Instruct-1.2B - Gemma2-2B-Instruct)

⚠️ Для запуска на СPU укажите use_mamba_kernels=False при загрузке модели с помощью AutoModelForCausalLM.from_pretrained.


▶️Локальная установка и инференс Zamba2-2.7B-Instruct:

# Clone repo
git clone https://github.com/Zyphra/transformers_zamba2.git
cd transformers_zamba2

# Install the repository & accelerate:
pip install -e .
pip install accelerate

# Inference:
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch

tokenizer = AutoTokenizer.from_pretrained("Zyphra/Zamba2-2.7B-instruct")
model = AutoModelForCausalLM.from_pretrained("Zyphra/Zamba2-2.7B-instruct", device_map="cuda", torch_dtype=torch.bfloat16)

user_turn_1 = "user_prompt1."
assistant_turn_1 = "assistant_prompt."
user_turn_2 = "user_prompt2."
sample = [{'role': 'user', 'content': user_turn_1}, {'role': 'assistant', 'content': assistant_turn_1}, {'role': 'user', 'content': user_turn_2}]
chat_sample = tokenizer.apply_chat_template(sample, tokenize=False)

input_ids = tokenizer(chat_sample, return_tensors='pt', add_special_tokens=False).to("cuda")
outputs = model.generate(**input_ids, max_new_tokens=150, return_dict_in_generate=False, output_scores=False, use_cache=True, num_beams=1, do_sample=False)
print((tokenizer.decode(outputs[0])))



📌Лицензирование : Apache 2.0 License.


🟡Набор моделей на HF
🖥GitHub


@data_analysis_ml

#AI #ML #SLM #Zamba2 #Instruct
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍113🔥2
🎓 Deep Gen-AI

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

📌 Курс

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥168👍5
Forwarded from Machinelearning
✔️ BrainChip анонсировал сверхэнергоэффективную микросхему для ИИ-устройств.

BrainChip анонсировала Akida Pico — нейроморфный процессор с энергопотреблением всего 1 мВт, предназначенный для устройств с ограниченным питанием: смартфоны, носимая электроника и умные устройства.

Akida Pico имитирует работу мозга, обмениваясь электрическими импульсами (спайками) вместо традиционных логических цепей. Чип включает нейронный процессор, блоки обработки событий, SRAM для хранения весов модели, блоки прямого доступа к памяти и дополнительные периферийные устройства. В некоторых случаях он может работать автономно.

BrainChip разработала архитектуры моделей ИИ, оптимизированные для минимального энергопотребления, снижая потребление энергии в пять раз по сравнению с традиционными моделями на обычных микропроцессорах. Akida Pico может использоваться для голосовой активации, шумоподавления в наушниках, AR-очках и слуховых аппаратах.
spectrum.ieee.org

✔️ Google расширит Gemini Live на более чем 40 языков.

Gemini Live запускает поддержку генеративного ИИ-помощника на более чем 40 языках. Инструмент позволит общаться на двух языках на одном устройстве, и в разработке находится дальнейшее расширение одновременно поддерживаемых языков.

Многоязычная поддержка также будет работать с интеграцией Gemini для других приложений и сервисов Google: Google Календарь, Задачи, Keep и Утилиты.

Установить предпочитаемые языки в приложении Android: «Настройки» > «Google Ассистент» > «Языки» и выберите первый предпочитаемый язык. Для второго языка есть опция «Добавить язык».
О планах по выпуску Gemini Live для iPhone не сообщалось.
engadget.com

✔️ Message-Passing Monte Carlo (MPMC): усовершенствованные методы выборки для повышения точности моделирования.

В MIT CSAIL разработали метод Message-Passing Monte Carlo (MPMC), основанный на GNN, которые позволяют точкам самооптимизироваться и достигать лучшей равномерности для решения сложных многомерных задач. GNN преобразуют случайные выборки, минимизируя L2-расхождение, что позволяет MPMC создавать наборы точек, подходящие для конкретных приложений.

В вычислительных финансах MPMC может улучшить результаты в задачах ценообразования опционов и оценки рисков, а в робототехнике - помочь в планировании пути и движении для оптимальной навигации роботов.
news.mit.edu

✔️ CharacterAi выходит из гонки моделей и переключает внимание на платформу чатботов.

CharacterAi решила отказаться от разработки больших языковых моделей и сосредоточиться на улучшении потребительской платформы. Это решение было принято после сделки с Google, в рамках которой интернет-гигант приобрел единовременную лицензию на технологию CharacterAi.

Рост затрат на обучение моделей усложнил конкуренцию с Google, Microsoft, OpenAI и Amazon. Компания решила сконцентрироваться на создании масштабируемой платформы чат-ботов, аудитория которой, по оценкам, насчитывает более 20 миллионов активных пользователей в месяц.
Несмотря на уход основателей и сокращение амбиций в области разработки моделей, компания с оптимизмом смотрит в будущее благодаря финансированию от Google.
btimesonline.com

✔️ IBM и NASA представили Prithvi WxC - модель для прогнозирования погоды и климата.

BM Research и NASA совместно разработали Prithvi WxC – модель глубокого обучения для прогнозирования погоды и моделирования климата с 2,3 млрд. параметров и 160 переменными из набора данных MERRA-2.

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

Prithvi WxC обучается с помощью комбинированной функции цели, которая объединяет задачи маскированной реконструкции и прогнозирования, что повышает ее универсальность в различных приложениях, включая прогнозирование с авторегрессионным развертыванием и оценку экстремальных погодных явлений.
Arxiv | Модель на HF | Проект на Github

@ai_machinelearning_big_data

#news #ai #ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍84🔥1
🚀🔥 LLaVA-Critic - первая крупномасштабная мультимодальная модель с открытым исходным кодом, предназначенная для оценки эффективности модели в различных мультимодальных задачах!

Так же представлен LLaVA-Critic-113k, высококачественный набор данных, который позволяет получать количественные оценки работы Llm.

Подробнее:
- 📰Статья: https://arxiv.org/abs/2410.02712
- 🪐Страница проекта: https://llava-vl.github.io/blog/2024-10-03-llava-critic/
- 📦Набор данных: https://huggingface.co/datasets/lmms-lab/llava-critic-113k
- 🤗Модели: https://huggingface.co/collections/lmms-lab/llava-critic-66fe3ef8c6e586d8435b4af8

@data_analysis_ml
👍124🔥2
🚀 Nvidia представляет EdgeRunner!

Этот метод позволяет создавать высококачественные 3D-сетки с количеством граней до 4000 при разрешении 512 на основе облаков точек.

https://research.nvidia.com/labs/dir/edgerunner/

@data_analysis_ml
👍83🔥1🤣1
♠️ Бесплатный курс от MIT: Теория и Аналитика покера

В этом курсе от MIT подробно рассматривается теория покера, математика покера и применение покерной аналитики в управлении инвестициями и трейдинге.

▪️Материалы Курса

@data_analysis_ml
20👍11🔥6❤‍🔥2