Skip to content

Commit 57302af

Browse files
Merge pull request #60 from hyeonsangjeon/master
ADD PEFT QLoRA and SageMaker BYOM contents
2 parents 41114bd + c8dc8c8 commit 57302af

35 files changed

+16881
-0
lines changed
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "code",
5+
"execution_count": null,
6+
"id": "7c5f0126-694e-411b-9380-86f4c1b70d24",
7+
"metadata": {
8+
"tags": []
9+
},
10+
"outputs": [],
11+
"source": [
12+
"!pip install -r src/requirements.txt"
13+
]
14+
},
15+
{
16+
"cell_type": "code",
17+
"execution_count": null,
18+
"id": "98ae8673-d1d3-40ea-be62-f1c3aeeead3e",
19+
"metadata": {
20+
"tags": []
21+
},
22+
"outputs": [],
23+
"source": [
24+
"!pip install -qU boto3 botocore huggingface_hub sagemaker langchain deepspeed wandb"
25+
]
26+
},
27+
{
28+
"cell_type": "markdown",
29+
"source": [
30+
"### Change Docker image path to EBS\n",
31+
"#### SageMaker 노트북 인스턴스일 경우 docker image 저장소의 공간이 작아 마운트한 EBS로 변경을 진행합니다.\n",
32+
"SageMaker 노트북 인스턴스에서 로컬 모드 디버깅 시 종종 `No space left` 관련 오류가 발생합니다. 따라서, 도커 이미지/컨테이너가 저장될 폴더를 SageMaker EBS (Amazon Elastic Block Store) 볼륨으로 변경하는 것을 권장합니다. 도커 이미지/컨테이너는 기본적으로 EBS가 아닌 루트 볼륨에 저장하기 때문에(루트 볼륨의 크기는 사용자가 임의로 조정할 수 없습니다!) 고용량의 이미지들을 빌드하면 용량이 꽉 차기 때문입니다."
33+
],
34+
"metadata": {
35+
"collapsed": false
36+
}
37+
},
38+
{
39+
"cell_type": "code",
40+
"execution_count": null,
41+
"outputs": [],
42+
"source": [
43+
"%%bash\n",
44+
"\n",
45+
"#!/usr/bin/env bash\n",
46+
"\n",
47+
"echo '{\n",
48+
" \"runtimes\": {\n",
49+
" \"nvidia\": {\n",
50+
" \"path\": \"nvidia-container-runtime\",\n",
51+
" \"runtimeArgs\": []\n",
52+
" }\n",
53+
" }\n",
54+
"}' > daemon.json\n",
55+
"\n",
56+
"sudo cp daemon.json /etc/docker/daemon.json && rm daemon.json\n",
57+
"\n",
58+
"DAEMON_PATH=\"/etc/docker\"\n",
59+
"MEMORY_SIZE=10G\n",
60+
"\n",
61+
"FLAG=$(cat $DAEMON_PATH/daemon.json | jq 'has(\"data-root\")')\n",
62+
"# echo $FLAG\n",
63+
"\n",
64+
"if [ \"$FLAG\" == true ]; then\n",
65+
" echo \"Already revised\"\n",
66+
"else\n",
67+
" echo \"Add data-root and default-shm-size=$MEMORY_SIZE\"\n",
68+
" sudo cp $DAEMON_PATH/daemon.json $DAEMON_PATH/daemon.json.bak\n",
69+
" sudo cat $DAEMON_PATH/daemon.json.bak | jq '. += {\"data-root\":\"/home/ec2-user/SageMaker/.container/docker\",\"default-shm-size\":\"'$MEMORY_SIZE'\"}' | sudo tee $DAEMON_PATH/daemon.json > /dev/null\n",
70+
" sudo service docker restart\n",
71+
" echo \"Docker Restart\"\n",
72+
"fi\n",
73+
"\n",
74+
"sudo docker info | grep Root"
75+
],
76+
"metadata": {
77+
"collapsed": false
78+
}
79+
}
80+
],
81+
"metadata": {
82+
"kernelspec": {
83+
"display_name": "conda_pytorch_p310",
84+
"language": "python",
85+
"name": "conda_pytorch_p310"
86+
},
87+
"language_info": {
88+
"codemirror_mode": {
89+
"name": "ipython",
90+
"version": 3
91+
},
92+
"file_extension": ".py",
93+
"mimetype": "text/x-python",
94+
"name": "python",
95+
"nbconvert_exporter": "python",
96+
"pygments_lexer": "ipython3",
97+
"version": "3.10.10"
98+
}
99+
},
100+
"nbformat": 4,
101+
"nbformat_minor": 5
102+
}

0 commit comments

Comments
 (0)