NLP 자연어 처리, Natural Language Processing
GCP, Cloud TPU 사용법
$choice
2021. 7. 6. 14:44
Google Cloud SDK 설치
# Add the Cloud SDK distribution URI as a package source
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
# Import the Google Cloud public key
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
# Update the package list and install the Cloud SDK
sudo apt-get update && sudo apt-get install google-cloud-sdk
설치 후 초기화
gcloud init
VM 접속하기.
gcloud compute ssh ubuntu@VM_NAME
아나콘다 패키지 설치
sudo apt-get update
# pip 설치
sudo apt-get install python3-pip
# wget 설치
sudo apt-get install wget
# Anaconda 설치
wget https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh
bash Anaconda3-2021.05-Linux-x86_64.sh
EXPORT
export STORAGE_BUCKET=gs://$BUCKET_NAME
export TPU_NAME=$TPU_NAME
GCS에서 파일 복사
# Google Cloud Storage에서 VM으로 파일 복사
gsutil cp -r gs://bert_train_1/model /home/ubuntu/model
GCSFUSE
export GCSFUSE_REPO=gcsfuse-`lsb_release -c -s`
echo "deb http://packages.cloud.google.com/apt $GCSFUSE_REPO main" | sudo tee /etc/apt/sources.list.d/gcsfuse.list
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
sudo apt-get update
sudo apt-get install gcsfuse
# mount 폴더를 만들고 해당 폴더에 GCS를 마운트
mkdir mount
gcsfuse $STORAGE_BUCKET_NAME mount
# 언마운트
fusermount -u mount
# 접속 허가
gcloud auth application-default login
Permission 관련 문제는 GCP 에서 구성원들을 편집자 혹은 추가하여 저장소 이전 버킷 리더로 설정하면 된다.fu
python run_pretraining_revise_save_count.py --input_file=gs://스토리지이름/Train_data/* --output_dir=gs://스토리지이름/Bert/Init/ --do_train=True --do_eval=False --bert_config_file=gs://스토리지이름/bert-base-uncased-config.json --train_batch_size=8 --max_seq_length=512 --max_prediction_per_seq=20 --num_train_steps=5000000 --save_checkpoints_steps=50000 --num_warmup_steps=10000 --learning_rate=5e-5 --max_to_keep=100 --use_tpu=True --tpu_name=TPU이름
modeling.py 수정 후 다시 불러 올 때. 모델 가중치 불러오기 오류가 있을 시
#assignment_map[name] = name
assignment_map[name] = name_to_variable[name]
추가 설정해야하는 것.
1. 버킷과 VM 인스턴스 작업자 편집.
2. 버킷과 TPU 작업자 편집
반응형