Предполагая, что у вас уже есть данные в необходимом формате для обучения модели Word2Vec в gensim, вам понадобятся следующие 2 строки кода:

Воспроизводимость

Для воспроизводимости установите seed и установите для worker значение 1.

model = Word2Vec(train_data, seed=100, workers=1)

Очевидно, это приведет к замедлению обучения из-за одного рабочего.

В python3 вам также может потребоваться установить параметр PYTHONHASHSEED для обеспечения воспроизводимости.

Сохранение в S3

Сохранение в S3 - дело непростое. Когда модель имеет большой размер, gensim сохраняет ее в файлы деталей, что на данный момент имеет проблемы с совместимостью при сохранении в S3.

Решение состоит в том, чтобы установить параметры отдельно на [] и sep_limit на огромное число (в приведенном ниже коде установлено значение 4 ГБ).

model.save(model_write_path, separately=[], sep_limit=4294967296)

Вы можете оценить значение sep_limit, обучив модель и сохранив ее локально, чтобы понять, сколько места требуется модели, и установив sep_limit = safety_factor * Estimated_size. Safety_factor может находиться в диапазоне от 1,5 до 3 в зависимости от вашего сценария использования.

Обратите внимание, что с изменением размера встраиваемого хранилища также изменятся требования: чем больше размер, тем больше требуется места.