目的
お客様向け・社内でAIのPoCを始める前にやった方がいい調査内容のメモ書きです。
想定読者
AIに関わるプロジェクトを始める様に上司から言われたけど、「学生のノリでOSSをとりあえずCloneして実装すればいいのかな?」「調査は何から始めればいいの?」と悩んでいる方。
結論
下記リンクの様に、綺麗にまとまっている表が1つあると判断もしやすいのではないでしょうか?非エンジニアにとっても同じです・・・。
https://qiita.com/okuramasafumi/items/9cff50507df7703374fd
前提(つぶやき)
- AIスタートアップに在籍した後、コンサル会社にいるビジネス寄りの人間が書いています。両キャリア通じて色々な人種に囲まれて色々な意味のマネージャーをやっています。
- 修正が必要な内容があれば適宜ご指摘ください。
- プロジェクトを進めている中で、「商用利用のことまったく考えてなかった!ごめん!なんとかして?」と関係者に言わない・言われないための覚書だと思って頂ければ幸いです。
- 予算が潤沢にある場合はランセンスをチェックするソフトを導入すればいいのでしょうが、DXの取り組みが社内で分散化する昨今、中々自前で揃えることも難しいと考えます。
本文
GitHubのレポジトリを比較する際、最低限これは調べて欲しい内容は 「ライセンス」「スターの数」「最後のCommit日時」 です。
その上で技術特性を比較して欲しいと考えます。
ライブラリのライセンス
GitHubではトップページでライセンスがわかります。
(ビジネス側の人間でも少し調べればわかる内容ということでもあります。)
MITやApach2.0であれば、利用目的に関わらずあまり心配しなくても大丈夫です。
調べてコピーレフトの場合は、商用でソフトを提供・公開する場合NGになる確率が高いです。
GitHubのトップページに行くと、本記事執筆時の2023/01/05時点では、TensorFlow はApache-2.0 license であることがわかります。
※開発者があまり考えず他のレポジトリを取り込んでいて、トップページのランセンスと実態が合っていない場合等はありますが、その様な事態も後続の数値が高いレポジトリを選んでトラブルになる率を下げられると考えます。
GitHubのスターの数
GitHubではページ右上にスターの数が提示されます。
あまりマイナーなライブラリは多くのユーザーに揉まれていないということなので、相対比較するならスターが多い方が無難だと考えます。
1000以上のスターがあれば、トラブルが少ない印象があります。
本記事執筆時の2023/01/05時点では、TensorFlow は約170000個のスターがあることがわかります。
最後のCommit日時
GitHubではInsightタブでCommitの情報が見れます。「Commits」や「Network」を確認してみてください。
最後のCommitが古いレポジトリをどうしても使いたい場合、位置づけをよく確認しないといけません。
誰も触らなくなったのか、特定の営利団体が開発を別レポジトリで実施していて年に1回だけバージョンを上げるのかなどまちまちです。
Commitが活発にされているレポジトリではIssueで連絡をすると直ぐに反応してくれるので、「ライセンスが『商用利用は問い合わせ』となっていても直ぐに解決できたりします。」
TensorFlowは2023/01/05時点で、1/1週でも121回コミットされています。
技術の特性
その技術がなぜ優れているのかの差分がまとまっているといいです。
全体のまとめテーブルの前に、技術開発の潮流まで記載されているとなお助かります。
制約
- PyTorchやCUDAのバージョンなど、プロジェクトのディプロイ先の制約は日程に影響を及ぼすので、トレードオフがあるなら比較をしてみて欲しいです。
- 「現在のままでは学習コードは公開されていないので、デモレベルならいいけど開発が進んだ際のチューニングはできないよ」などの気づきもどんどん記載して欲しいです。
誰が開発しているか?
コントロールしている方の所属はリストにあると本当はうれしい内容です。
ただ、上記に優先しないという意図で最後に記載します。
その他
データセット
学習済みモデルのデータセットに関するライセンスは決着がついていないので難しい話題かと考えます。
ただ、商用利用が許されないImageNetで学習された重みが、Big Techから商用利用OKで公開している例が多いように見えるので、「データセットのライセンスは有名無実」なのかもしれません。
参考リンク
-
https://qiita.com/shinya_sun_sun/items/bdafe803a7643e6dd15b
基本的なコピーレフトやコピーライトの考え方が記載されています。 -
https://future-architect.github.io/articles/20200821/
各ライセンスのまとめテーブルが役に立ちます。