Как я могу обучить модель связи сущностей spaCy, используя графический процессор? - PullRequest
0 голосов
/ 15 апреля 2020

Когда я тренирую spaCy модель связывания сущностей, следуйте документу wiki_entity_linking , и я обнаружил, что эта модель обучалась с использованием процессора. Эпоха обучения стоит очень много времени. (Около 3 дней для 2 эпох в среде: 16x процессор, 64 ГБ памяти)

Команда: python wikidata_train_entity_linker.py -t 50000 -d 10000 -o xxx. Поэтому мой вопрос заключается в том, как я могу использовать GPU для фазы поезда.

1 Ответ

1 голос
/ 15 апреля 2020

Перед инициализацией ваших моделей НЛП вам потребуется рефакторинг кода для использования spacy.require_gpu () - для получения дополнительной информации см. Документы: https://spacy.io/api/top-level#spacy .require_gpu

Перед выполнением это я бы удостоверился, что ваша задача работает на всех ядрах. Если вы работаете не на всех ядрах, вы можете использовать joblib для многопроцессорных миниатюрных разделов вашей работы:

    partitions = minibatch(texts, size=batch_size)
    executor = Parallel(n_jobs=n_jobs, backend="multiprocessing", prefer="processes")
    do = delayed(partial(transform_texts, nlp))
    tasks = (do(i, batch, output_dir) for i, batch in enumerate(partitions))
    executor(tasks)

Для получения дополнительной информации вот пример обучения NER для многопроцессорной работы Joblib из документов: https://spacy.io/usage/examples#multi - обработка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...