Azure Repos と GitHub リポジトリを操作する

完了

メイン コードに直接変更を加えることもできますが、トランクベースの開発を使用することをお勧めします。 ブランチで作業することで、メイン コードにマージする前に、変更が期待どおりに動作するかどうかをより簡単に確認できます。

トランクベースの開発が実際にどのように機能するかを理解するために、Azure DevOpsGitHub の両方を使用してコードを更新するプロセスについて考慮します。 機械学習ワークフローのコードを変更しなければならない状況は、いつでも起こりえます。 そのため、アジャイル計画を使用して、コードを更新するタイミングと作業を編成するタイミングを決定します。

アジャイル計画

最初のモデルを開発したら、運用環境にモデルを移行します。 他のアプリケーションと同様、モデルは静的ではなく、最新の状態を保つために、時間の経過に伴う小規模または大規模な調整が必要になる場合があります。 モデルを更新して再トレーニングする理由として、データ ドリフトの検出があります。これは、モデルが期待どおりに動作しなくなる原因となります。 データは時間の経過とともに変化する可能性があり、それに応じて、時間が経ったモデルも変更しなければならないことがあります。

データ サイエンティストとして行う必要がある作業を計画および編成する際に、Azure DevOps の Azure Boards または GitHub を使用できます。

Azure DevOps

Azure Boards は、作業項目の追跡、可視化、レポート作成によってアジャイルな計画を編成します。 プロジェクト計画に合わせて、さまざまなものをカスタマイズできます。

ヒント

Azure Boards を設定してカスタマイズする方法を調べる場合は、 Azure Boards のドキュメントを確認できます。

データ サイエンティストにとって最も重要なのは、ユーザーに作業項目を割り当て、機械学習プロジェクトを進めるために何を行う必要があるかを通知することです。 作業を編成するには、"作業項目を新しいブランチにリンクします"。

あなたは機械学習プロジェクトに取り組んでいるデータ サイエンティストであるとします。 チームには、"機能" または機械学習のライフサイクル フェーズ別にグループ化された "作業項目" のバックログまたはプロダクト バックログ項目があります。

Azure Boards のバックログ項目のスクリーンショット。

このプロジェクトの作業項目を表示するもう 1 つの方法は、Boards に移動することです。 通常、[新規]、[アクティブ]、[クローズ済み] の作業項目の列があります。 または、まだ実行する必要があるタスク、実行しているタスク、完了したタスクがあります。

Azure Boards ボードの概要のスクリーンショット。

作業項目を選択し、その作業項目が作業中であることをチームに知らせるために、自分で (または他のユーザーが) その作業項目を自分に割り当てることができます。 [未割り当て] ボックスを選択し、自分の名前を選択します。

作業項目を選択すると、詳細を表示することもできます。

Azure Boards の作業項目の詳細を示すスクリーンショット。

[開発] コントロール ウィンドウで、[ブランチの作成] を選択してリポジトリに新しいブランチを作成できます。このブランチは、作業項目に自動的にリンクされます。 作成されたら、リポジトリに格納されているすべての資産を表示できる、新しいブランチにリダイレクトされます。

ブランチを示す Azure Repos のスクリーンショット。

ブランチが作成されたので、そのブランチで作業し、コードに変更を加えることができます。 変更をコミットしてメイン リポジトリにプッシュする前に、ローカルで開発してテストする Visual Studio Code のような統合開発環境 (IDE) にブランチを複製するのが一般的です。

GitHub

GitHub は、リポジトリごとにすべてのツールを整理するオープンソース プラットフォームです。 リポジトリを作成したら、GitHub イシューを使用して、作業項目、フィードバック、バグを追跡できます。

GitHub でリポジトリを開くと、[イシュー] タブに移動して、未解決のイシューと解決済みのイシューをすべて表示できます。 イシューを選択すると、その詳細が表示されます。 イシューを作成するユーザーは、コード スニペットまたはスクリーンショットを追加して、その問題について説明できます。

作業ウィンドウが強調表示されている GitHub issue の例のスクリーンショット。

イシューが作成されると、自分または他の GitHub ユーザーに作業を割り当てることができます。 このイシューに取り組む場合は、[開発] コントロールからブランチを作成できます。

イシューにリンクされるブランチの作成に役立つウィンドウが開きます。 ブランチにはイシューのタイトルの名前が自動的に付けられます。 ブランチの名前は必要に応じて変更できます。

Issue から作成された GitHub リポジトリ ブランチのスクリーンショット。

[コード] タブに戻ってリポジトリを表示すると、ブランチを切り替えたり、作成した新しいブランチを表示したりできます。

GitHub リポジトリで新しいブランチを作成するスクリーンショット。

Azure DevOps の作業項目または GitHub のイシューを取得し、コードを編集するブランチを作成したら、今度はコードをローカルで開発します。 Azure DevOps または GitHub のいずれかから Git リポジトリを複製し、任意の IDE から作業できます。