tcmalloc: большая ошибка при использовании Google Colab

#python #tensorflow #keras #google-colaboratory #tcmalloc

#python #тензорный поток #keras #google-colaboratory #tcmalloc

Вопрос:

Я использую следующий учебник для построения модели нейронного языка на платформе Google Colab: https://machinelearningmastery.com/how-to-develop-a-word-level-neural-language-model-in-keras /.

Мой набор данных, который содержит 2036456 последовательностей и словарь из 77069 слов, значительно больше, чем тот, который используется в руководстве, но я все еще могу обучить модель на своем локальном компьютере. Однако, когда я пытаюсь тренироваться с полным набором данных в Google Colab с использованием GPU, я получаю следующую ошибку:

tcmalloc: large alloc 627790512128 bytes == 0x4789c000 @ 0x7fc0aaaf8001 0x7fc0a861c765 0x7fc0a8680bb0 ...

Мне удалось выяснить, где в коде возникает эта ошибка, и похоже, что виновником является следующая строка, где функция keras.to_categorical() вызывается для однократного кодирования выходных слов:

y = to_categorical(y, num_classes=vocab_size)

Это говорит мне о том, что что-то ломается при однократном кодировании (довольно большого) словаря, но я не понимаю, почему это не проблема на моем локальном компьютере.

В других потоках я читал, что это может быть проблема с памятью, и действительно кажется, что графическому процессору Google не хватает памяти (у меня выделено около 12 ГБ ОЗУ).). Опять же, это не проблема на моем локальном компьютере, простом MacBook Pro с 16 ГБ оперативной памяти, с помощью которого я могу загружать данные и обучать модель (хотя это мучительно медленно). Во время обучения при загрузке полного набора данных процесс занимает около 13 ГБ оперативной памяти, что не сильно отличается от объема, который требуется для 10% того же набора данных на облачном GPU-сервере.

Что я делаю не так? И как это возможно, что мой локальный компьютер может обрабатывать данные, а Google Colab — нет? Или, может быть, проблема совершенно не связана с данными?

Спасибо, А.

Комментарии:

1. может ли эта статья помочь towardsdatascience.com /…

2. по-видимому, этот хак больше не работает, и, судя по огромному объему памяти, который уже использует скрипт, я сомневаюсь, что 25G будет достаточно

3. Какой графический процессор вы используете в своем экземпляре Colab и сколько параметров содержит ваша модель?

4. Я использую графический процессор Tesla P100-PCIE-16GB, и моя полная модель имеет 11 788 319 параметров, что является большим, но мой MacBook, похоже, справляется с этим.