clingku / w2v_kr

This repository includes scripts and text resources related to the task of automatic compositionality detection using word2vec embeddings. We test the applicability of the method to ambiguous phrases for Korean language.
Apache License 2.0
1 stars 0 forks source link

w2v 실행과 컴퓨터 사양 #5

Open hauni opened 7 years ago

hauni commented 7 years ago

w2c 실행에는 computer resourses 및 training시간이 많이 요구되는 편이라 그런 점들을 중간 중간 확인해 두기로 해. 우선 나온 결과 한 가지.

컴퓨터 사양: LINUX, CPU: ?, memory: ?, GPU: 아마 장착?, *추후 확인 소요시간: 5분 내외

jeehyun@jeehyun-XPS-15-9560:~/Research/etc$ cd word2vec-master/ jeehyun@jeehyun-XPS-15-9560:~/Research/etc/word2vec-master$ ls compute-accuracy.c demo-word-accuracy.sh questions-words.txt demo-analogy.sh demo-word.sh README.txt demo-classes.sh distance.c word2phrase.c demo-phrase-accuracy.sh LICENSE word2vec.c demo-phrases.sh makefile word-analogy.c demo-train-big-model-v1.sh questions-phrases.txt jeehyun@jeehyun-XPS-15-9560:~/Research/etc/word2vec-master$ sh demo-word.sh gcc word2vec.c -o word2vec -lm -pthread -O3 -march=native -Wall -funroll-loops -Wno-unused-result gcc word2phrase.c -o word2phrase -lm -pthread -O3 -march=native -Wall -funroll-loops -Wno-unused-result gcc distance.c -o distance -lm -pthread -O3 -march=native -Wall -funroll-loops -Wno-unused-result gcc word-analogy.c -o word-analogy -lm -pthread -O3 -march=native -Wall -funroll-loops -Wno-unused-result gcc compute-accuracy.c -o compute-accuracy -lm -pthread -O3 -march=native -Wall -funroll-loops -Wno-unused-result chmod +x *.sh --2017-07-19 22:57:08-- http://mattmahoney.net/dc/text8.zip Resolving mattmahoney.net (mattmahoney.net)... 98.139.135.129 Connecting to mattmahoney.net (mattmahoney.net)|98.139.135.129|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 31344016 (30M) [application/zip] Saving to: ‘text8.gz’

text8.gz 26%[==============> ] 7.99M 670KB/s eta 38s ttext8.gz 29%[===============> ] 8.70M 723KB/s eta 35s text8.gz 100%[=======================================================>] 29.89M 529KB/s in 75s

2017-07-19 22:58:23 (410 KB/s) - ‘text8.gz’ saved [31344016/31344016]

Starting training using file text8 Vocab size: 71291 Words in train file: 16718843 Alpha: 0.000005 Progress: 100.10% Words/thread/sec: 93.72k 2675.64user 4.36system 5:53.32elapsed 758%CPU (0avgtext+0avgdata 650188maxresident)k 0inputs+112712outputs (0major+11183minor)pagefaults 0swaps


지금 눈에 띈 한 가지 흥미로운 점은 w2v에서 본래 샘플로 준비된(?) 입력파일 text8이 17백만 규모(어휘타입 7만)라서 세종 의미분석 말뭉치와 그리 크게 차이가 나지 않는다는 점.

hauni commented 7 years ago

위에서 내가 컴퓨터 사양부분을 ?로 두었는데 그와 관련한 전언, 특히 w2v와 GPU관련 참고가 되는 말. w2v GPU version이 따로 있는지 확인해 보아야 할 듯.

엇 네 GPU (NVIDIA GTX 1050, 4GB) 설치된 개인 노트북 (Dell XPS 2017 version) 에서 돌린 것 맞아요

그런데 이 코드가 GPU를 얼마나 잘 활용했을지는 모르겠어요 보통 제가 GPU 사용하는 딥러닝 프로그램을 돌릴때는 그걸 가능케 하는 여러가지 프로그램 및 라이브러리를 "GPU 버전"으로 설치하고 돌리거든요. GPU가 있는 컴퓨터라 하더라도 "CPU 버전" 라이브러리를 쓰면 프로그램 실행할때 오직 CPU만 사용한다고 알고 있어요.

방금 다시 그 코드 돌리면서 동시에 GPU 사용 모니터링 하는 창도 띄워봤는데, 미미한 변화가 있어요 ㅎㅎ 변화가 있긴한걸 보니 GPU가 약간 이용되는것 같기는 한데... 모니터링 창에 나오는 숫자들 중 제가 아는 수치(GPU 메모리)는 거의 변화가 없고, 모르는 수치만 약간 변하는 수준이라 해석이 어렵네요 ^^;

hauni commented 7 years ago

Google에서 "word2vec GPU version"로 검색해 보니,

https://stackoverflow.com/questions/39558642/does-gensim-library-support-gpu-acceleration

아직은 제대로된 GPU version이 없다는 말처럼 들림.

아래 정보는 송선생에게 참고가 될 듯. 지난 5월에 받은 편지.

CPU: 인텔 Xeon 계열 이고 12-core 에요 Memory: 64GB 이상입니다 GPU : 지금 컴퓨터에도 이미 GPU가 설치돼있긴 한데 제가 원하는 모델이 아니었고 메모리도 4GB 짜리에요 : 새로 주문한 GPU는 NVIDIA Titan Xp 에요. Deep learning programming 용으로 NVIDIA Titan X를 많이들 쓰는데, 그거 후속 모델인 Titan Xp가 올해 4월에 나왔더라고요 이 GPU 메모리는 따로 옵션이 없고 딱 12GB 짜리로만 팔아요

wiskingdom commented 7 years ago

to @hauni

아까 말씀 드렸던 클라우드 관련 정보입니다. 단기로 사용할 것이라면 클라우드를 사용하는 것이 좋을 수도 있습니다. 온디멘드 요금제 같은 경우는 사용(runing) 시간만큼만 요금이 부과됩니다.

기계학습용으로는 P2 시리즈가 추천 되고 있습니다. ec2_gpu_instances

아래는 서울 지역에 위치한 P2 인스턴스의 가격입니다. ec2_gpu_instances_price_seoul

스토리지 비용은 따로 계산될 것입니다.

비용 관련 링크: https://aws.amazon.com/ko/ec2/pricing/on-demand/