Этот проект посвящен распознаванию артикулов товаров из их текстовых описаний с использованием методов обработки естественного языка (NLP) и моделей машинного обучения.
- LLM_model.ipynb: Содержит код для обучения легкой модели LLM для распознавания артикулов.
- BERT_Train.ipynb: Содержит код для обучения модели BERT для задачи распознавания именованных сущностей (NER).
- model_comparison.ipynb: Сравнивает производительность модели LLM и модели на основе BERT с помощью различных метрик.
Проект использует датасет excel с описанием товаров и их артикулами.
В ноутбуке LLM_model.ipynb выполнены следующие шаги:
- Подготовка данных: Загрузка датасета и подготовка инструкций для модели LLM.
- Обучение модели: Использование легкой предобученной модели и её дообучение на датасете.
- Оценка модели: Оценка производительности модели на тестовом наборе данных.
- Развертывание модели: Сохранение дообученной модели и настройка сервера Ollama для её обслуживания.
В ноутбуке BERT_Train.ipynb выполнены следующие шаги:
- Подготовка данных: Загрузка датасета и аннотирование текста с сущностями.
- Обучение модели: Обучение модели BERT на аннотированном датасете.
- Тюнинг гиперпараметров: Предоставлен шаблон для тюнинга гиперпараметров с использованием Optuna.
- Оценка модели: Оценка производительности модели на тестовом наборе данных.
В ноутбуке model_comparison.ipynb сравниваются модели LLM и BERT по следующим метрикам:
- Среднее расстояние Левенштейна
- Среднее косинусное сходство
- Точность совпадений
- LLM: Используется модель
unsloth/Phi-3.5-mini-instruct, которая является легкой и предобученной на русском языке. - BERT: Используются модели
cointegrated/rubert-tiny2иai-forever/sbert_large_nlu_ruдля задачи распознавания именованных сущностей. - Стек технологий: Python, Jupyter Notebooks, Pandas, Scikit-learn, Transformers, SpaCy, Optuna, Ollama.
Модель на основе LLM показала лучшие результаты по сравнению с моделью BERT по всем метрикам. Однако дообучение модели LLM может быть более ресурсоемким.
Автор: Заводов Андрей GitHub