과제 1에 대한 문제 세트의 내용은 여기에 있으며 과제의 PDF도 이 저장소에 task1.pdf로 포함되어 있습니다.
이것은 Python 2.7을 사용합니다. python q{1,2,3}_{problem}.py를 사용하여 연습을 실행하고, 기본적으로 파일을 Python 인터프리터에 전달하여 모든 코드를 실행합니다.
일부 기능에는 테스트가 있지만 일부는 아직 누락되었습니다.
나는 온전성 테스트의 이점을 얻을 수 있는 q3_word2vec.py의 큰 덩어리가 있다고 생각합니다.
이 할당은 GPU를 사용하는 이점이 있으므로 AWS에서 스팟 인스턴스를 가동하는 방법에 대한 지침이 있습니다. 저는 6월 4일 현재 시간당 $7.20인 p2.8xlarge 인스턴스를 사용합니다. 스팟 인스턴스를 사용하면 동일한 인스턴스 유형을 시간당 1.3달러로 실행할 수 있습니다.
스팟 인스턴스를 요청하려면 ./aws_setup/setup.sh
실행하세요. 이는 현재 내 노트북을 가정하고 개인 AWS 계정에 대해 설정한 AWS 프로필을 사용합니다. 상황을 변경해야 하는데 제가 사용하고 있는 AWS AMI가 내 계정에 있기 때문에 아마도 이동하지 못할 것입니다. 현재는 잘 통하지 않습니다.
config.json은 AWS 관리 콘솔을 사용한 첫 번째 스팟 인스턴스 요청에서 저장된 파일입니다. aws_setup 폴더에 저장된 config.json 및 setup.sh 스크립트를 사용하면 다음에 교육을 실행하려고 할 때 인스턴스를 다시 요청하는 것이 훨씬 더 쉬워집니다.
인스턴스가 실행되면 홈 폴더에 cs224 폴더가 생깁니다. git pull origin master
하면 최신 코드가 있습니다. python q3_RNNLM.py
로 실행
./aws_setup에는 AWS 스팟 인스턴스 인프라 생성을 위한 지원 스크립트가 포함되어 있습니다.
source ./aws_setup/commands.sh를 사용하면 다음을 수행하는 몇 가지 기본 명령이 있습니다. 환경 describe
새 스팟 인스턴스 setup
인스턴스에 login
완료되면 terminate
.
N개의 여러 인스턴스를 실행하는 경우 0~N의 인스턴스 번호를 제공하여 로그인할 인스턴스를 선택하세요. ./aws_setup/login.sh 0
첫 번째 인스턴스에 로그인
최고의 실행은 p2.xlarge에서 90분 만에 훈련되었으며 검증 정확도는 .745였습니다.
임베드 크기를 처음 35에서 최대 2800으로 업데이트해도 결과 정확도는 거의 변경되지 않았습니다.
l2 정규화는 좋은 검증 결과를 얻는 데 매우 중요했습니다.
훈련 세트와 검증 세트의 정확도는 여전히 크게 떨어져 있으며 훈련 세트의 정확도는 종종 %92를 초과합니다.
과제 3을 실행한 결과와 개별 쓰기 내용은 모두 할당3/output 및 할당3/README.md에 있습니다.