Он поддерживает различные типы данных, включая текстовые и графические и позволяет пользователям задавать вопросы и получать ответы в различных форматах: текстовом, кодовом и визуальном.
Этот интерфейс адаптирован под использование на настольных компьютерах и мобильных устройствах и был тщательно протестирован на Ubuntu.
git clone https://github.com/iamgmujtaba/llama3.2-webUI
▪ Github
@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤4🔥1🌭1
📚 ebook2audiobook
Инструмент, который позволяет конвертировать электронные книги в аудиокниги с главами и метаданными с помощью Calibre и Coqui XTTS.
📖 Преобразует электронные книги в текстовый формат с помощью Calibre.
📚 Разбивает электронную книгу на главы для упорядоченного воспроизведения.
🎙️ Высококачественное преобразование текста в речь с помощью
🗣️ Клонирование голоса с помощью вашего образца голоса .
⭐ Поддерживает несколько языков (по умолчанию английский, русский поддерживается).
▪Github
@data_analysis_ml
Инструмент, который позволяет конвертировать электронные книги в аудиокниги с главами и метаданными с помощью Calibre и Coqui XTTS.
📖 Преобразует электронные книги в текстовый формат с помощью Calibre.
📚 Разбивает электронную книгу на главы для упорядоченного воспроизведения.
🎙️ Высококачественное преобразование текста в речь с помощью
Coqui XTTS.
🗣️ Клонирование голоса с помощью вашего образца голоса .
⭐ Поддерживает несколько языков (по умолчанию английский, русский поддерживается).
pip install tts==0.21.3 pydub nltk beautifulsoup4 ebooklib tqdm
▪Github
@data_analysis_ml
🔥19👍8❤7🌭1
import pandas as pd
import fireducks.pandas as pd
🌟Теперь ваш код работает быстрее без изменений логики! Попробуйте сами и убедитесь, как легко ускорить работу с большими данными!
@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍45🤔19❤7🔥6🌭1
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 довольно просто. Во-первых, при определении объекта
Далее, на этапе передачи данных в шаге обучения укажите
⚡️ Готово!
Вот как работает ускорение на примере набора данных MNIST в обучении простой нейронной сети (См Картинку 6)
- Без memory pinning обучение модели на 5 эпохах занимает около 43 секунд:
- а с использованием memory pinning та же модель обучается менее чем за 10 (!!!) секунд 🔥(См Картинку 7)
📌 Важные особенности использования memory pinning:
- если несколько тензоров будут выделены в "привязанную" память, это приведет к резервированию значительной части оперативной памяти.
- когда набор данных относительно мал, memory pinning имеет незначительный эффект, поскольку передача данных от CPU к GPU все равно не занимает столько времени (См Картинку 7)
📌 Полная версия
@ai_machinelearning_big_data
Если вы регулярно используете 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👍7❤5🌭2
Здесь можно найти запросы под всевозможные сферы: от IT до бизнес - советов.
▪️Github
@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤7🔥2🌭2
Компания 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 предлагает различные методы для расширения датасетов, улучшения обобщения и производительности моделей при работе с данными.
Эта библиотека позволяет генерировать новый текст на основе существующих данных, заменяя некоторые слова синонимами, в том числе используя принцип косинусного сходства в векторных представлениях, аналогичный тому, который используется в моделях word2vec или GloVe.
Кроме того, NLPAug может заменить слова на основе контекста с помощью моделей трансформеров, таких как BERT-сети, а также выполнять двойной перевод текста на другой язык и обратно.
@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍3🔥2🥱1🌭1
Включает поддержку пользовательских моделей и различных языков, а также интеграцию с почтовыми сервисами и мультимедийными приложениями.
▪️Github
@bigdatai
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥6❤5🌭1
В ней используется объектно-ориентированное программирование (ООП) для взаимодействия с LLM моделями, что упрощает создание и управление запросами через объекты и типы
Простота использования и мощный функционал делают библиотеку полезным инструментом для разработки ИИ-агентов и работы с большими языковыми моделями
▪️Github
@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤6🔥3
@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤4🔥1
Zamba2-Instruct - семейство инструктивных моделей на архитектуре Mamba2+Transformers для NLP-задач.
В семействе 2 модели:
Высокая производительность семейства по сравнению с релевантными 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
.# 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])))
@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
👍11❤3🔥2