Skip to content

Repository files navigation

HSE DL project spring-2025

Литвинов Михаил и Габидуллин Камиль

Попробовать лучшую модель можно по ссылке:

Предварительные шаги:

  • git clone https://github.com/gab1k/monkey_coding_dl_project.git
  • cd monkey_coding_dl_project
  • Установка poetry, если нет - pipx install poetry
    • Надо установить pipx, если нет - sudo apt install pipx; pipx ensurepath
  • Создание окружения и скачивание зависимостей - poetry install

Настройка кофига приложения (закоммичен дефолтный вариант для локального запуска и деплоя на сервере Hugging Face):

  • model_path - путь к модели
  • vocab_path - путь к словарю
  • config_path - путь к конфигу модели
  • max_seq_len - максимальная длина контекста
  • server.share - если указано false, то локальный запуск приложения, иначе - создается временная ссылка через сервер Hugging Face (не путать с деплоем на Hugging Face)
  • server.host и server.port - хост и порт для локального инстанса

Запуск приложения/ноутбуков:

  • Запуск приложения с использованием Gradio - poetry run python main.py
  • Запуск ноутбуков - poetry run jupyter notebook и выбираем нужный

Лейаут директорий:

  • Директория ./notebooks содержит ноутбуки для различных задач
    • datasets_stats.ipynb - содержит примеры работ генератора и визуализацию статстик выбранных датасетов
    • mamba_vs_transformerts.ipynb - сравнивает мамба и трансформер, обучаемые на датасете IMDB и снимает метрики на датасете POLARITY
    • models_comparations_second_dataset.ipynb - сравнивает Mamba, LSTM и transformer обученных на урезанном датасете IMDB и сравнивает на урезанном IMDB и полноценном POLARITY
    • models.ipynb - Обучение на маленьком датасете IMDB моделей Mamba, LSTM и transformer, сравнение также на маленьком IMDB
    • train.ipynb - Обучение итоговой модели для инференса на полном датасете IMDB и снятие метрик на POLARITY. В нашем случае это модель transformer
  • Директория ./src/app содержит класс приложения и все его компоненты:
    • Директория model_utils содержит фабрику и менеджер моделей
      • factory.py - фабрика для загрузки моделей
      • manager.py - инференс моделей
    • app.py - основной класс приложения
    • config.py - класс-обертка конфига приложения
  • Директория ./src/data_utils содержит классы для обработки датасетов:
    • config.py - содержит конфиги генератора и обработчика
    • dataset_generator.py - содержит генератор датасетов - это класс, позволяющий делать всю обработку датасета одним методом
    • dataset_params.py - содержит настройки использующихся датасетов stanfordnlp/imdb и fancyzhx/amazon_polarity
    • text_processor.py - содержит обработчик текстов - это класс, позволяющий подготавливать тексты
  • Директория ./src/models содержит определение моделей и их инференс
    • models.py - определение архитектур моделей
    • predict.py - класс для предикта, который получает всю нужнуо информаю из сдампленого в json конфига
  • ./config.yaml - конфиг приложения
  • ./main.py - точка входа в приложение

About

HSE DL spring 2025 project Литвинов Михаил и Габидуллин Камиль

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages