무료 GPU를 받고 spaCy 모델을 훈련시키는 방법은 무엇입니까?
운 좋게도 사용할 수 있는 원격 GPU 옵션이 많이 있습니다. 사용 사례에 따라 필요에 맞는 것을 선택할 수 있습니다.
옵션
장점
단점
클라우드 공급자(Gcloud, AWS, Azure)
유연성, 데이터 저장
더 높은 램프 업 시간
협업노트
좋은 문서
짧은 런타임, 느린 GPU, 긴 교육 작업에는 적합하지 않음
주피터 허브
오픈 소스, 다국어 지원
무료 GPU 지원 없음
캐글 노트북
GPU 컴퓨팅 43시간 무료
기계에 대한 데이터 IO는 약간 불편합니다.
그래서 오늘 우리는 kaggle에서 GPU를 사용하여 힌디어용 spaCy 모델을 훈련시키는 방법에 대해 이야기할 것입니다. 모델 교육의 가장 큰 과제는 기계 학습 문제를 정확하게 나타내는 깨끗한 데이터를 얻는 것입니다. 사용 가능한 데이터 세트 목록을 얻기 위해 빠른 검색을 수행해 보겠습니다.
Github에서 "Hindi tagger"로 빠르게 검색하면 다음 결과가 나타납니다.
이러한 데이터 세트를 탐색한 후 이러한 데이터 세트의 대부분이 상대적으로 작고 spaCy의 입력 데이터 형식과 호환되지 않는 일관성 없는 태깅 체계를 따른다는 것을 알 수 있습니다. 운 좋게도 CONLL 경쟁에서 사용할 수 있는 다른 데이터 세트가 있습니다.
보편적 종속성 / UD_힌디어-HDTB
요약
힌디어 UD 트리뱅크는 힌디어 종속성 트리뱅크(HDTB)를 기반으로 합니다.
인도 IIIT 하이데라바드에서 제작되었습니다.
소개
힌디어 범용 종속성 트리뱅크는 힌디어 및 우르두어용 다층 트리뱅크를 만들기 위한 지속적인 노력의 일환인 HDTB(힌디어 종속성 트리뱅크)에서 자동으로 변환되었습니다. HDTB는 IIIT-H 인도에서 개발되었습니다.
감사의 말
이 프로젝트는 NSF 보조금(수상 번호: CNS 0751202, CFDA 번호: 47.070)의 지원을 받습니다.
이 데이터를 사용하여 수행한 작업을 보고하는 간행물은 다음 참조를 인용해야 합니다.
Riyaz Ahmad Bhat, Rajesh Bhatt, Annahita Farudi, Prescott Klassen, Bhuvana Narasimhan, Martha Palmer, Owen Rambow, Dipti Misra Sharma, Ashwini Vaidya, Sri Ramagurumurthy Vishnu 및 Fei Xia. 힌디어/우르두어 Treebank 프로젝트. 언어 주석 핸드북(Nancy Ide 및 James Pustejovsky 편집), Springer Press@InCollection{bhathindi
Title = {The Hindi/Urdu Treebank Project}
Author = {Bhat, Riyaz Ahmad and Bhatt, Rajesh and Farudi, Annahita and Klassen, Prescott and Narasimhan,
…
힌디어 범용 종속성 트리뱅크는 힌디어 및 우르두어용 다층 트리뱅크를 만들기 위한 지속적인 노력의 일환인 HDTB(힌디어 종속성 트리뱅크)에서 자동으로 변환되었습니다. HDTB는 IIIT-H 인도에서 개발되었습니다.
감사의 말
이 프로젝트는 NSF 보조금(수상 번호: CNS 0751202, CFDA 번호: 47.070)의 지원을 받습니다.
이 데이터를 사용하여 수행한 작업을 보고하는 간행물은 다음 참조를 인용해야 합니다.
Riyaz Ahmad Bhat, Rajesh Bhatt, Annahita Farudi, Prescott Klassen, Bhuvana Narasimhan, Martha Palmer, Owen Rambow, Dipti Misra Sharma, Ashwini Vaidya, Sri Ramagurumurthy Vishnu 및 Fei Xia. 힌디어/우르두어 Treebank 프로젝트. 언어 주석 핸드북(Nancy Ide 및 James Pustejovsky 편집), Springer Press@InCollection{bhathindi
Title = {The Hindi/Urdu Treebank Project}
Author = {Bhat, Riyaz Ahmad and Bhatt, Rajesh and Farudi, Annahita and Klassen, Prescott and Narasimhan,
…
Browsing the stats.xml file gives us an overview of different pos tags available in the dataset.
Let's open the notebook and enable GPU for the session from three dots > Accelerator > GPU. Note that there is tpu option as well, but TPU can only be used for Keras and Tensorflow models. Spacy uses none of those, it uses its own custom neural network library, thinc.
Let's clone this repository using the command below in Kaggle notebook. This will download the data from repo in the working directory.
! git clone https://github.com/UniversalDependencies/UD_Hindi-HDTB
GPU에 액세스할 수 있는지 빠르게 확인합시다.
import tensorflow as tf
tf.test.gpu_device_name()
Spacy는 교육 입력 데이터가 JSON 문서 형식일 것으로 예상하지만 다운로드한 데이터는 .connlu 형식입니다. 따라서 JSON으로 변환하기 위해
spacy convert
를 사용합니다.! mkdir data
! spacy convert UD_Hindi-HDTB/hi_hdtb-ud-dev.conllu data
! spacy convert UD_Hindi-HDTB/hi_hdtb-ud-train.conllu data
! spacy convert UD_Hindi-HDTB/hi_hdtb-ud-test.conllu data
이제 모델 학습을 시작할 준비가 모두 완료되었습니다.
! spacy train hi model_dir data/hi_hdtb-ud-train.json data/hi_hdtb-ud-dev.json -g 0
학습을 위해 GPU 사용을 활성화하려면 인수
-g 0
를 전달하는 것을 잊지 마십시오. 훈련된 모델을 model_dir
디렉토리에 저장합니다. 내 로컬 컴퓨터보다 GPU에서 약 6배 빠르게 실행됩니다. kaggle 노트북의 작업이 CPU 제약을 받았기 때문에 더 빠르게 실행하는 방법이 있을 것입니다. 어쨌든 전체 작업은 kaggle 노트북에서 30분 만에 끝났습니다.모델을 로드하고 몇 가지 추론을 실행해 보겠습니다.
from spacy.lang.hi import Hindi
from spacy.gold import docs_to_json
nlp_hi = Hindi()
nlp_hi.add_pipe(nlp_hi.create_pipe('tagger'))
nlp_hi.add_pipe(nlp_hi.create_pipe('parser'))
nlp_hi.add_pipe(nlp_hi.create_pipe('ner'))
nlp_hi = nlp_hi.from_disk("model_dir/model-best/")
sentence = "मैं खाना खा रहा हूँ।"
doc = nlp_hi(sentence)
print(docs_to_json([doc]))
# ...
# {'id': 0, 'orth': 'मैं', 'tag': 'PRP', 'head': 2, 'dep': 'nsubj', 'ner': 'O'}
# ...
완료되면 모델을 gzip으로 압축하고 kaggle 노트북의 오른쪽에 있는 파일 뷰어 팬에서 로컬로 다운로드합니다.
! tar -cvzf model.tgz model_dir/model-best
만세!
놀고 싶다면 여기 Kaggle 노트북 링크가 있습니다.
https://www.kaggle.com/rahul1990gupta/training-a-spacy-hindi-model?scriptVersionId=41283884
Reference
이 문제에 관하여(무료 GPU를 받고 spaCy 모델을 훈련시키는 방법은 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/rahul1990gupta/how-to-get-a-free-gpu-and-train-a-spacy-model-ba9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)