JSON Датасеты для тренингов ИИ. AI Fine Tuning. Head Hunter.
Qwen Datasets
Готовые json датасеты для тренировки локальных моделей ИИ
arrayphotocintrol   Head Hunter

      

AI Qwen Fine Tuning


      Компактные модели ИИ удобно использовать для автоматизации отдельных процессов в офисе или на предприятии, которые раньше предполагали только ручной труд. Например, контроль локальной сети, построенной с использованием динамической маршрутизации на протоколах OSPF и BGP.
      Компактные модели ИИ (например, Qwen2.5) содержат минимум избыточной информации, но вполне достаточную внутреннюю структуру. Небольшой размер в 5 Гбайт позволяет снизить требования к аппаратной части.
      Используя даже слабые серверы HP Gen 9 с доступной серверной видеокартой Nvidia P100 можно автоматизировать аналитику. Специально написанный Python-скрипт будет запускать проверку динамической таблицы маршрутизации (Cisco "show ip route"), например каждые 10 минут.
      Для этого надо тренировать модель ИИ (fine tuning) на соответствующем датасете.
      Датасет должен содержать 2000-3000 примеров в JSON формате.
      
      
Datasets >>>>
      
      

      Валерий Шмелев
      
      Если интересно, то:   arrayphotocintrol   Head Hunter - Вы же понимаете, что это такое
      
      Ниже представлена структура датасета и готовый код для fine-tuning Qwen2.5 под задачу анализа таблиц маршрутизации. Основной подход - синтетическая генерация данных и обучение с Chain-of-Thought (CoT), что доказало свою эффективность для сетевых задач
      
      Формат данных должен имитировать реальный диалог с моделью, где на вход подается таблица и вопрос, а на выходе — рассуждение (CoT) и ответ
      
      Структура обучающего JSON Dataset

JSON

{
  "messages": [
    {
      "role": "system",
      "content": "You are a network routing expert. Analyze the routing table, detect issues, and provide step-by-step reasoning."
    },
    {
      "role": "user",
      "content": "Routing table:\n\n\nQuestion: Does this routing table contain a routing loop or summarization error?"
    },
    {
      "role": "assistant",
      "content": "\n1. I will examine the routing table for duplicate routes with equal metrics.\n2. I will check for overlapping 
       networks that indicate poor summarization.\n3. [Step-by-step analysis of the specific table]\n\n\nYes, a 
       potential routing loop exists between ...\n"
    }
  ]
}


      
      Рекомендации по созданию данных:
      Синтетическая генерация: Используйте LLM (DeepSeek-R1, Qwen 2.5 72B) для генерации разнообразных примеров таблиц маршрутизации с различными ошибками . Генерация должна быть целевой: вы создаете запросы, в которых указываете, какие ошибки должна содержать таблица (петли, неверная суммаризация).
      Структуризация: Используйте инструменты вроде promptwright для масштабной генерации на основе графа тем .
      Баланс: Обеспечьте разнообразие примеров: "здоровые" таблицы, таблицы с петлями, ошибками суммаризации, проблемами next-hop и т.д.
      
      Код для Fine-Tuning (PyTorch + LoRA)
      
      LoRA (Low-Rank Adaptation) — это метод параметрически-эффективной тонкой настройки (fine-tuning) больших предварительно обученных моделей машинного обучения. Он позволяет адаптировать такие модели к конкретным задачам с минимальными вычислительными и ресурсными затратами.
      
      Использование LoRA позволяет эффективно дообучать 7B-модель с ограниченными ресурсами
      
PYTHON

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, TrainingArguments, Trainer
from peft import LoraConfig, get_peft_model, prepare_model_for_kbit_training
from datasets import load_dataset
from trl import SFTTrainer

# 1. Загрузка модели и токенизатора
model_name = "Qwen/Qwen2.5-7B-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
tokenizer.pad_token = tokenizer.eos_token

# 2. Настройка LoRA (эффективная адаптация)
lora_config = LoraConfig(
    r=16,
    lora_alpha=32,
    target_modules=["q_proj", "v_proj", "k_proj", "o_proj"], # Основные модули внимания
    lora_dropout=0.05,
    bias="none",
    task_type="CAUSAL_LM",
)

# 3. Подготовка модели
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype=torch.bfloat16, # Для экономии памяти
    device_map="auto",
    trust_remote_code=True
)
model = prepare_model_for_kbit_training(model)
model = get_peft_model(model, lora_config)

# 4. Загрузка датасета в формате Hugging Face
dataset = load_dataset("json", data_files="routing_dataset.jsonl")

# 5. Форматирование данных для SFTTrainer (используем 'messages')
def formatting_func(example):
    # Преобразуем 'messages' в строку для обучения
    # Ожидаем формат: [{"role": "system", "content": "..."}, ...]
    messages = example["messages"]
    formatted_text = tokenizer.apply_chat_template(messages, tokenize=False)
    return formatted_text

# 6. Настройка обучения
training_args = TrainingArguments(
    output_dir="./routing-llm-finetuned",
    per_device_train_batch_size=4,
    gradient_accumulation_steps=4, # Эффективный батч = 16
    num_train_epochs=3,
    learning_rate=2e-4,
    fp16=True, # Используйте bf16, если поддерживается
    logging_steps=10,
    save_steps=100,
    report_to="none",
)

trainer = SFTTrainer(
    model=model,
    tokenizer=tokenizer,
    args=training_args,
    train_dataset=dataset,
    formatting_func=formatting_func,
    max_seq_length=2048,
)

# 7. Запуск обучения
trainer.train()

# 8. Сохранение модели
model.save_pretrained("./routing-llm-lora-adapter")


      Ключевые моменты
      
      Chain-of-Thought: Обязательно обучайте модель выдавать рассуждения в формате <reasoning>...</reasoning><answer>...</answer>. Это улучшает точность и интерпретируемость .
      Синтетические данные: Для создания качественного датасета используйте более мощные модели (например, Qwen 2.5 72B) для генерации примеров таблиц с нужными ошибками, а затем дообучайте на них меньшую модель .
      Формат вывода: Убедитесь, что в вашем датасете ответы модели строго следуют одному формату — это критически важно для стабильности работы модели в production.
      Такой подход позволяет создать специализированного ассистента для анализа маршрутизации с минимальными вычислительными затратами.
      
      
Опыт работы >>>>
      
Prompts >>>>
      
ИИ Датасеты >>>>
      
AI Fine Tuning >>>>
      
      Суть LoRA заключается в ее подходе к адаптации модели без погружения в подробности повторной тренировки всей модели. В отличие от традиционного дообучения, где каждый параметр подвергается изменению, LoRA выбирает более умный путь. Она замораживает предварительно обученные веса модели и вводит обучаемые матрицы ранговой декомпозиции в каждый слой архитектуры трансформера. Этот подход существенно снижает количество обучаемых параметров, обеспечивая более эффективный процесс адаптации.
      Хотя LoRA является прорывом в снижении потребностей в хранении, она все еще требует мощного GPU для загрузки модели для обучения. Вот где появляется QLoRA, или квантованная LoRA, сочетая LoRA с квантованием для более умного подхода.
      Обычно весовые параметры хранятся в 32-битовом формате (FP32), что означает, что каждый элемент матрицы занимает 32 бита места. Представьте, если бы мы могли сжать одну и ту же информацию всего в 8 или даже 4 бита. Это основная идея QLoRA. Квантование относится к процессу отображения непрерывных бесконечных значений на меньший набор дискретных конечных значений. В контексте LLM оно относится к процессу преобразования весов модели из более высоких типов данных в типы с более низкой точностью.
      LoRA находит свое практическое применение в библиотеке Hugging Face Parameter Efficient Fine-Tuning (PEFT), упрощая ее использование. Для тех, кто хочет использовать QLoRA, она доступна через комбинацию библиотек bitsandbytes и PEFT. Кроме того, библиотека HuggingFace Transformer Reinforcement Learning (TRL) облегчает дообучение с встроенной поддержкой LoRA. Вместе эти три библиотеки предоставляют необходимый инструментарий для дообучения выбранной предварительно обученной модели, позволяя генерировать убедительные и связные описания продукта при указании конкретных инструкций по атрибутам.
      
      Head Hunter
      

Qwen2.5 (7B) Datasets

        


      
      
Читаем далее >>>>
      
      

AI Qwen Datasets
Подготовка датасетов для тренинга локальных ИИ моделей (fine tuning)
Fine tuning локальных моделей ИИ. Подготовка специальных JSON примеров

    

    

    

    

















Шаблоны сайтов