Skip to content

Commit 4232429

Browse files
authored
add finetuning test for mosaicml-mpt-7b-chat (intel#166)
Signed-off-by: jiafu zhang <[email protected]>
1 parent 24ae58e commit 4232429

File tree

5 files changed

+347
-0
lines changed

5 files changed

+347
-0
lines changed
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Chatbot finetune on mosaicml/mpt-7b-chat
2+
3+
on:
4+
workflow_call:
5+
6+
concurrency:
7+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-ft-mpt-7b
8+
cancel-in-progress: true
9+
10+
jobs:
11+
finetuning:
12+
name: finetuning test
13+
runs-on: lms-lab
14+
steps:
15+
- name: Checkout
16+
uses: actions/checkout@v2
17+
18+
- name: Load environment variables
19+
run: cat ~/itrex-actions-runner/.env >> $GITHUB_ENV
20+
21+
- name: Build Docker Image
22+
run: docker build ./ --target cpu --build-arg http_proxy="${{ env.HTTP_PROXY_IMAGE_BUILD }}" --build-arg https_proxy="${{ env.HTTPS_PROXY_IMAGE_BUILD }}" -f workflows/chatbot/fine_tuning/docker/Dockerfile -t chatbotfinetune:latest && yes | docker container prune && yes | docker image prune
23+
24+
- name: Start Docker Container on socket 0
25+
id: master_container
26+
run: |
27+
cid=$(docker ps -q --filter "name=chatbotfinetune-s0")
28+
if [[ ! -z "$cid" ]]; then docker stop $cid && docker rm $cid; fi
29+
numactl --cpunodebind=0 -- docker run -tid -v /mnt/DP_disk1/huggingface/cache/:/root/.cache/huggingface/hub -v .:/root/chatbot -e http_proxy="${{ env.HTTP_PROXY_CONTAINER_RUN }}" -e https_proxy="${{ env.HTTPS_PROXY_CONTAINER_RUN }}" --name="chatbotfinetune-s0" --hostname="chatbotfinetune-container-s0" chatbotfinetune:latest
30+
master=$(docker inspect -f "{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}" "chatbotfinetune-s0")
31+
echo "master_node=$master" >> $GITHUB_OUTPUT
32+
33+
- name: Start Docker Container on socket 1
34+
run: |
35+
cid=$(docker ps -q --filter "name=chatbotfinetune-s1")
36+
if [[ ! -z "$cid" ]]; then docker stop $cid && docker rm $cid; fi
37+
numactl --cpunodebind=1 -- docker run -tid -v /mnt/DP_disk1/huggingface/cache/:/root/.cache/huggingface/hub -v .:/root/chatbot -e http_proxy="${{ env.HTTP_PROXY_CONTAINER_RUN }}" -e https_proxy="${{ env.HTTPS_PROXY_CONTAINER_RUN }}" --name="chatbotfinetune-s1" --hostname="chatbotfinetune-container-s1" chatbotfinetune:latest
38+
39+
- name: Run Finetuning in Background
40+
run: |
41+
master_node=${{ steps.master_container.outputs.master_node }}
42+
docker exec "chatbotfinetune-s0" bash -c "cd /root/chatbot && source activate && conda activate chatbot-finetuning; sh .github/workflows/script/chatbot/start_ft_mpt-7b-chat.sh $master_node 0"
43+
docker exec "chatbotfinetune-s1" bash -c "cd /root/chatbot && source activate && conda activate chatbot-finetuning; sh .github/workflows/script/chatbot/start_ft_mpt-7b-chat.sh $master_node 1"
44+
45+
- name: Wait for Finetuning Completion
46+
run: |
47+
sh .github/workflows/script/chatbot/wait_for_ft_mpt-7b-chat.sh
48+
49+
- name: Stop Container
50+
if: success() || failure()
51+
run: |
52+
cid=$(docker ps -q --filter "name=chatbotfinetune-s0")
53+
if [[ ! -z "$cid" ]]; then docker stop $cid && docker rm $cid; fi
54+
cid=$(docker ps -q --filter "name=chatbotfinetune-s1")
55+
if [[ ! -z "$cid" ]]; then docker stop $cid && docker rm $cid; fi
56+
57+
- name: Test Summary
58+
run: echo "Finetuning completed successfully"

.github/workflows/chatbot-test.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ on:
99
- '.github/workflows/chatbot-test.yml'
1010
- '.github/workflows/chatbot-inference-llama-2-7b-chat-hf.yml'
1111
- '.github/workflows/chatbot-inference-mpt-7b-chat.yml'
12+
- '.github/workflows/chatbot-finetune-mpt-7b-chat.yml'
1213
- 'intel_extension_for_transformers/**'
1314
- 'workflows/chatbot/inference/**'
1415
- 'workflows/dlsa/**'
@@ -29,4 +30,6 @@ jobs:
2930
call-inference-mpt-7b-chat:
3031
uses: ./.github/workflows/chatbot-inference-mpt-7b-chat.yml
3132

33+
call-finetune-mpt-7b-chat:
34+
uses: ./.github/workflows/chatbot-finetune-mpt-7b-chat.yml
3235

0 commit comments

Comments
 (0)