Всем привет, наткнулся на странное поведение: Делаю обычное обучение: from catboost import

CatBoostClassifier

model = CatBoostClassifier(
task_type='GPU',
iterations=3000,
tokenizers=[...],
dictionaries = [...],
feature_calcers = [
...
],
metric_period=10,
eval_metric='Accuracy',
)
model.fit(train_pool, eval_set=[test_pool])

Размер обучающей выборки примерно 5 миллионов, единственная колонка - текстовая размером около 500 символов
Воспроизводимо падает - памяти (вроде) достаточно.
Падает после того как вывел learning_rate и видимо сразу после преобразования текста в фичи (этот шаг занимает пару десятков минут потому что работает в один поток).

Если обрезаю примерно в два раза, падать перестает.
Куда копать?

EDIT:
Я еще раз посмотрел - видимо все-таки память, просто в процесс обработки пиково примерно в 3 раза больше занимает чем во время обучения. Отсюда было ложное понимание, что памяти достаточно.

EDIT2:

Все-таки не память - удвоил память, но все равно ломается. Где-то 5,5 миллионов все падает, 4 миллиона строк - работает даже на вдвое меньшей памяти
Может кто-то с таким разбирался уже?
Ориентировочно на 64Гб пиковых падает. Там не зашиты случайно лимиты какие-то?

Гугл говорит, что нужно попробовать ulimits -v unlimited, напишу про результаты

EDIT3:
На другой машине проблемы не появилось, видимо дело именно в настройках системы

4 ответов

63 просмотра
dmitry- Автор вопроса

Продолжаю свое исследование: 1. Проверил проблема в ограничении памяти процесса или нет. Сделал массив из "1" длиной 200ГБ - все хорошо. 2. В том же окружении воспроизвелась проблема с тем, что модель падает примерно так как упала бы от памяти - просто умирает ядро. При этом умирает вроде в районе 64Гб в пике. Подскажите, как я могу локализовать/решить проблему? Может был подобный опыт. Сейчас еще прогоню в дебаг выводе и добавлю лог. Как-то я не подумал об этом раньше

dmitry
Продолжаю свое исследование: 1. Проверил проблема ...

Может быть плохо становится на этапе подготовки фичей из текста?

dmitry- Автор вопроса
Serg Gini
Может быть плохо становится на этапе подготовки фи...

Пока только знаю, что падает после довольно долгой работы и вывода learning_rate

dmitry- Автор вопроса
Serg Gini
Может быть плохо становится на этапе подготовки фи...

В моем представлении это означает, что текстовые фичи уже подготовлены и идет следующий этап предобработки, но еще не обучение

Похожие вопросы

Обсуждают сегодня

Только сейчас дошли руки до Orange pi 5. Это нормально что на нем YOLOv5s выдает 1 кадр раз в 2-3 секунды на CPU? Это без оптимизаций и прочих настроек, просто голый запуск че...
Denis
10
Всем привет! подскажите пожалуйста как можно увеличить качество фото?
Evgeniy
19
Доброе утро. Подскажите, если если 4 корутины, внутри которых VideoCapture, то будут ли они работать асинхронно? Т.к. нагуглил, что Videocapture в моменте может быть открыт то...
Alexander👨‍💻
19
Кто работал с NPU на Рокчипе, можете подсказать, инициализирую модель (см. скрин 1), запускаю и на "init_runtime" выдает ошибку "undefined symbol: rknn_set_core_mask" (см. скр...
Denis
1
Я пожалуй ещё раз брошу клич: кто-нибудь хочет в рабство в ОЭЗ Алабугу на позицию инженера CV? Работы много, задачи сложные, ЗП высокая. Я передам контакт напрямую в HR.
Maxim 👀 Osminin #Slowpoke3D
13
Could you upvote please? https://www.kaggle.com/code/mehmetisik/sentiment-analysis-twitter-nlp-machine-learning https://www.kaggle.com/code/mehmetisik/user-based-collaborati...
MHT Mht
1
А вы в атоме работаете да?
Alexander x*❄️❅❆
11
I have this grayscale image in opencv I want to change gray quadrilaterals to black like others It means i want to change gray color of specific color to black How can i do th...
@. .@
7
Всем привет! Подскажите пожалуйста С помощью OpenCVSharp работаю с rtsp потоком Но почему-то через +- 2 минуты поток зависает без всяких ошибок В какую сторону копать? С ...
Evgeniy
3
всем драсте, занимаемся активно макетами печатной продукции каждый раз при закае нам шлют pdf или ai, любой вектор кароч чтоб внести заказ нужно каждый раз вручную создавать ...
Vlados
4
Карта сайта