Skip to content
Merged

Co #6

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
9bc702a
[doc] update chatgpt doc paper link (#3229)
Camille7777 Mar 24, 2023
bd39877
support instrcut training (#3230)
Fazziekey Mar 24, 2023
78fd31f
[chatgpt] add precision option for colossalai (#3233)
ver217 Mar 24, 2023
045afa3
[hotfix] skip torchaudio tracing test (#3211)
YuliangLiu0306 Mar 24, 2023
d32ef94
[doc] fix typo (#3222)
binmakeswell Mar 24, 2023
052b03e
limit torch version (#3213)
CsRic Mar 24, 2023
4d5d8f9
[API] implement device mesh manager (#3221)
YuliangLiu0306 Mar 24, 2023
280fcdc
polish code (#3194)
NatalieC323 Mar 24, 2023
1653063
[CI] Fix pre-commit workflow (#3238)
nijkah Mar 27, 2023
1a22904
Add interface for colo tesnor dp size (#3227)
yhna940 Mar 27, 2023
73d3e4d
[booster] implemented the torch ddd + resnet example (#3232)
FrankLeeeee Mar 27, 2023
02b0580
[fx] meta registration compatibility (#3253)
1SAA Mar 27, 2023
fd6add5
[examples] polish AutoParallel readme (#3270)
YuliangLiu0306 Mar 28, 2023
b0ce5a1
[Coati] first commit (#3283)
Fazziekey Mar 28, 2023
bb6196e
remove chatgpt (#3284)
Fazziekey Mar 28, 2023
4905b21
[coati] fix inference output (#3285)
ver217 Mar 28, 2023
1f7d9af
add example (#3286)
Fazziekey Mar 28, 2023
ec7af22
fix image (#3288)
Fazziekey Mar 28, 2023
c548428
[ColossalChat]add cite for datasets (#3292)
Fazziekey Mar 28, 2023
a88ed0f
add limit (#3293)
Fazziekey Mar 28, 2023
ce2cafa
[coati] add repetition_penalty for inference (#3294)
ver217 Mar 28, 2023
73b542a
[coati] inference supports profanity check (#3295)
ver217 Mar 28, 2023
c8b723d
[chat]Update Readme (#3296)
ht-zhou Mar 28, 2023
682af61
[doc] add ColossalChat (#3297)
binmakeswell Mar 28, 2023
5134ad5
[format] applied code formatting on changed files in pull request 329…
github-actions[bot] Mar 28, 2023
62f7156
[coati] fix inference profanity check (#3299)
ver217 Mar 28, 2023
6859447
Merge pull request #4 from hpcaitech/main
jamesthesnake Mar 28, 2023
874be34
Merge pull request #5 from jamesthesnake/ra
jamesthesnake Mar 28, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ contact_links:
about: This issue tracker is not for technical support. Please use WeChat, and ask the community for help.
- name: 😊 Advanced question - GitHub Discussions
url: https://github.com/hpcaitech/ColossalAI/discussions
about: Use GitHub Discussions for advanced and unanswered technical questions, requiring a maintainer's answer.
about: Use GitHub Discussions for advanced and unanswered technical questions, requiring a maintainer's answer.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ body:
If applicable, add screenshots to help explain your problem.
**Suggest a potential alternative/fix**
Tell us how we could improve this project.
**Optional: Affiliation**
**Optional: Affiliation**
Institution/email information helps better analyze and evaluate users to improve the project. Welcome to establish in-depth cooperation.
placeholder: |
A clear and concise description of your idea.
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/doc_test_on_pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ jobs:

- name: Checkout ColossalAI
uses: actions/checkout@v3

- name: Install Doc Test Requirements
run: |
source activate pytorch
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/post_commit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,15 +82,15 @@ jobs:

# create pull request
- name: Create Pull Request
if: steps.commit.outputs.status == 'success'
if: steps.commit.outcome == 'success'
id: cpr
uses: peter-evans/create-pull-request@v4
with:
branch: pre-commit-${{ github.event.pull_request.number }}
title: "[format] applied code formatting on changed files in PR ${{ github.event.pull_request.number }}"

- name: Enable Auto-merge for the New PR
if: steps.commit.outputs.status == 'success'
if: steps.commit.outcome == 'success'
uses: peter-evans/enable-pull-request-automerge@v2
with:
pull-request-number: ${{ steps.cpr.outputs.pull-request-number }}
Expand Down
54 changes: 27 additions & 27 deletions .github/workflows/scripts/example_checks/check_dispatch_inputs.py
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
import argparse
import os
def check_inputs(input_list):
for path in input_list:
real_path = os.path.join('examples', path)
if not os.path.exists(real_path):
return False
return True
def main():
parser = argparse.ArgumentParser()
parser.add_argument('-f', '--fileNameList', type=str, help="List of file names")
args = parser.parse_args()
name_list = args.fileNameList.split(",")
is_correct = check_inputs(name_list)
if is_correct:
print('success')
else:
print('failure')
if __name__ == '__main__':
main()
import argparse
import os


def check_inputs(input_list):
for path in input_list:
real_path = os.path.join('examples', path)
if not os.path.exists(real_path):
return False
return True


def main():
parser = argparse.ArgumentParser()
parser.add_argument('-f', '--fileNameList', type=str, help="List of file names")
args = parser.parse_args()
name_list = args.fileNameList.split(",")
is_correct = check_inputs(name_list)

if is_correct:
print('success')
else:
print('failure')


if __name__ == '__main__':
main()
74 changes: 37 additions & 37 deletions .github/workflows/scripts/example_checks/check_example_weekly.py
Original file line number Diff line number Diff line change
@@ -1,37 +1,37 @@
import os
def show_files(path, all_files):
# Traverse all the folder/file in current directory
file_list = os.listdir(path)
# Determine the element is folder or file. If file, pass it into list, if folder, recurse.
for file_name in file_list:
# Get the abs directory using os.path.join() and store into cur_path.
cur_path = os.path.join(path, file_name)
# Determine whether folder
if os.path.isdir(cur_path):
show_files(cur_path, all_files)
else:
all_files.append(cur_path)
return all_files
def join(input_list, sep=None):
return (sep or ' ').join(input_list)
def main():
contents = show_files('examples/', [])
all_loc = []
for file_loc in contents:
split_loc = file_loc.split('/')
# must have two sub-folder levels after examples folder, such as examples/images/vit is acceptable, examples/images/README.md is not, examples/requirements.txt is not.
if len(split_loc) >= 4:
re_loc = '/'.join(split_loc[1:3])
if re_loc not in all_loc:
all_loc.append(re_loc)
print(all_loc)
if __name__ == '__main__':
main()
import os


def show_files(path, all_files):
# Traverse all the folder/file in current directory
file_list = os.listdir(path)
# Determine the element is folder or file. If file, pass it into list, if folder, recurse.
for file_name in file_list:
# Get the abs directory using os.path.join() and store into cur_path.
cur_path = os.path.join(path, file_name)
# Determine whether folder
if os.path.isdir(cur_path):
show_files(cur_path, all_files)
else:
all_files.append(cur_path)
return all_files


def join(input_list, sep=None):
return (sep or ' ').join(input_list)


def main():
contents = show_files('examples/', [])
all_loc = []
for file_loc in contents:
split_loc = file_loc.split('/')
# must have two sub-folder levels after examples folder, such as examples/images/vit is acceptable, examples/images/README.md is not, examples/requirements.txt is not.
if len(split_loc) >= 4:
re_loc = '/'.join(split_loc[1:3])
if re_loc not in all_loc:
all_loc.append(re_loc)
print(all_loc)


if __name__ == '__main__':
main()
48 changes: 24 additions & 24 deletions .github/workflows/scripts/example_checks/detect_changed_example.py
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
import argparse
def main():
parser = argparse.ArgumentParser()
parser.add_argument('-f', '--fileNameList', type=str, help="The list of changed files")
args = parser.parse_args()
name_list = args.fileNameList.split(":")
folder_need_check = set()
for loc in name_list:
# Find only the sub-sub-folder of 'example' folder
# the examples folder structure is like
# - examples
# - area
# - application
# - file
if loc.split("/")[0] == "examples" and len(loc.split("/")) >= 4:
folder_need_check.add('/'.join(loc.split("/")[1:3]))
# Output the result using print. Then the shell can get the values.
print(list(folder_need_check))
if __name__ == '__main__':
main()
import argparse


def main():
parser = argparse.ArgumentParser()
parser.add_argument('-f', '--fileNameList', type=str, help="The list of changed files")
args = parser.parse_args()
name_list = args.fileNameList.split(":")
folder_need_check = set()
for loc in name_list:
# Find only the sub-sub-folder of 'example' folder
# the examples folder structure is like
# - examples
# - area
# - application
# - file
if loc.split("/")[0] == "examples" and len(loc.split("/")) >= 4:
folder_need_check.add('/'.join(loc.split("/")[1:3]))
# Output the result using print. Then the shell can get the values.
print(list(folder_need_check))


if __name__ == '__main__':
main()
25 changes: 17 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@
<li>
<a href="#Colossal-AI-in-the-Real-World">Colossal-AI for Real World Applications</a>
<ul>
<li><a href="#ChatGPT">ChatGPT: Low-cost ChatGPT Equivalent Implementation Process</a></li>
<li><a href="#ColossalChat">ColossalChat: An Open-Source Solution for Cloning ChatGPT With a Complete RLHF Pipeline</a></li>
<li><a href="#AIGC">AIGC: Acceleration of Stable Diffusion</a></li>
<li><a href="#Biomedicine">Biomedicine: Acceleration of AlphaFold Protein Structure</a></li>
</ul>
Expand All @@ -80,7 +80,7 @@
</li>
<li><a href="#Use-Docker">Use Docker</a></li>
<li><a href="#Community">Community</a></li>
<li><a href="#contributing">Contributing</a></li>
<li><a href="#Contributing">Contributing</a></li>
<li><a href="#Cite-Us">Cite Us</a></li>
</ul>

Expand Down Expand Up @@ -214,22 +214,31 @@ Please visit our [documentation](https://www.colossalai.org/) and [examples](htt
<p align="right">(<a href="#top">back to top</a>)</p>

## Colossal-AI in the Real World
### ChatGPT
A low-cost [ChatGPT](https://openai.com/blog/chatgpt/) equivalent implementation process. [[code]](https://github.com/hpcaitech/ColossalAI/tree/main/applications/ChatGPT) [[blog]](https://www.hpc-ai.tech/blog/colossal-ai-chatgpt)
<p id="ChatGPT_scaling" align="center">

### ColossalChat

<div align="center">
<a href="https://chat.colossalai.org/">
<img src="https://raw.githubusercontent.com/hpcaitech/public_assets/main/colossalai/img/Chat-demo.png" width="700" />
</a>
</div>

[ColossalChat](https://github.com/hpcaitech/ColossalAI/tree/main/applications/Chat): An open-source solution for cloning [ChatGPT](https://openai.com/blog/chatgpt/) with a complete RLHF pipeline. [[code]](https://github.com/hpcaitech/ColossalAI/tree/main/applications/Chat) [[blog]](https://www.hpc-ai.tech/blog/colossal-ai-chatgpt) [[demo]](https://chat.colossalai.org)

<p id="ColossalChat_scaling" align="center">
<img src="https://raw.githubusercontent.com/hpcaitech/public_assets/main/applications/chatgpt/ChatGPT%20scaling.png" width=800/>
</p>

- Up to 7.73 times faster for single server training and 1.42 times faster for single-GPU inference

<p id="ChatGPT-1GPU" align="center">
<p id="ColossalChat-1GPU" align="center">
<img src="https://raw.githubusercontent.com/hpcaitech/public_assets/main/applications/chatgpt/ChatGPT-1GPU.jpg" width=450/>
</p>

- Up to 10.3x growth in model capacity on one GPU
- A mini demo training process requires only 1.62GB of GPU memory (any consumer-grade GPU)

<p id="inference" align="center">
<p id="ColossalChat-LoRA" align="center">
<img src="https://raw.githubusercontent.com/hpcaitech/public_assets/main/applications/chatgpt/LoRA%20data.jpg" width=600/>
</p>

Expand Down Expand Up @@ -375,7 +384,7 @@ Join the Colossal-AI community on [Forum](https://github.com/hpcaitech/ColossalA
[Slack](https://join.slack.com/t/colossalaiworkspace/shared_invite/zt-z7b26eeb-CBp7jouvu~r0~lcFzX832w),
and [WeChat(微信)](https://raw.githubusercontent.com/hpcaitech/public_assets/main/colossalai/img/WeChat.png "qrcode") to share your suggestions, feedback, and questions with our engineering team.

## Invitation to open-source contribution
## Contributing
Referring to the successful attempts of [BLOOM](https://bigscience.huggingface.co/) and [Stable Diffusion](https://en.wikipedia.org/wiki/Stable_Diffusion), any and all developers and partners with computing powers, datasets, models are welcome to join and build the Colossal-AI community, making efforts towards the era of big AI models!

You may contact us or participate in the following ways:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -142,5 +142,5 @@ docs/.build
# pytorch checkpoint
*.pt

# ignore version.py generated by setup.py
colossalai/version.py
# wandb log
example/wandb/
File renamed without changes.
Loading