Skip to content

リポジトリの運用

Kazuki Fujii edited this page Jun 9, 2023 · 4 revisions

The English version is after the Japanese version

ブランチ運用

system sub-team, NLP sub-teamの2チームが同じリポジトリを使用するため、混乱を避ける目的で system/feature/add-ring-all_reducenlp/fix/gpt-ja-tokenizerのように<team-name>/[feature, fix, ...]/<branch-name>の形でブランチを作成するようにお願いします。

なお以下の2つのブランチは特殊なブランチです。

  • main : microsoft/Megatorn-DeepSpeedのmainに追従しているブランチです。 (push等をしないようにお願いします。)
  • cpu : 富岳上で動作確認がとれている安定ブランチです。(branch protectionがかかっています)

issue 運用

タスク管理のために issues を使います。 issueを新たに作成する際は、system tagか、NLP tagをつけてください。

image

Linter, Formatter 運用

現状では、導入しません。

理由は、microsoft/Megatorn-DeepSpeedにflake8, black, isortなどのツールが使用されておらず、Megatron-DeepSpeedの変更を瞬時に取り込めなくなるからです。 (現在、microsoft/Megatorn-DeepSpeed本体にLinting toolを導入するように働きかけています。microsoft/Megatorn-DeepSpeedにLinter, Formatterが導入され次第、こちらのプロジェクトでも導入します。)

Type Annotation 運用

可読性の観点から、type annotationをつけることは推奨しますが、mypy等のツールを用いたCIによる強制は行いません。

(microsoft/Megatorn-DeepSpeed本体にtype annotationの積極導入を現在働きかけています)

Git Branch Operation

Since two teams, the system sub-team and the NLP sub-team, use the same repository, for the purpose of avoiding confusion, it is recommended to use <team->/[feature, fix, ...]/xxx, such as system/feature/add-ring-all_reduce, nlp/fix/gpt-ja-tokenizer.

The following two branches are special branches.

  • main : This branch follows microsoft/Megatorn-DeepSpeed main. (Please do not push)
  • cpu : This is a stable branch that has been tested on Fugaku SuperComputer. (branch protection is applied)

issue Operation

Issues are used for task management. When creating a new issue, please add either a system tag or an NLP tag.

image

Linter, Formatter Operation

Currently, it is not installed.

The reason is that microsoft/Megatorn-DeepSpeed does not use tools such as flake8, black, isort.

(We are currently working on getting the microsoft/Megatorn-DeepSpeed itself to use the linting tool. As soon as microsoft/Megatorn-DeepSpeed uses Linter and Formatter, we will introduce it in this project as well.)

Type Annotation Operation

From the viewpoint of readability, it is recommended to add type annotation, but we do not enforce it by CI using mypy.