1. TOP
  2. ブログ
  3. ローカル環境で動作するコーディングアシストAI「TabbyML」とは

ローカル環境で動作するコーディングアシストAI「TabbyML」とは

生成系AIの進化は目を見張るものがあります。Chat GPTに関しては、広く報道されたことで、一般の方にも広く知られるようになりました。
このような生成系AIの中でも、実務上作業効率を格段にアップさせる可能性があるものの一つに「コーディングアシスタントAI」があります。今回は、その中でもローカル環境で動作する「TabbyML」についてまとめてみましょう。

この記事でわかること
 ・TabbyMLについて
 ・TabbyMLの実力
 ・TabbyMLとGitHub Copilotの比較

TabbyMLとは何か

コーディングアシスタントAIとして、最も有名なのは「GitHub Copilot」でしょう。GitHubは、世界中のエンジニアがプログラムコードやデザインデータなどを保存し、公開することが出来る「ソースコード管理サービス」です。
システム開発をする際に、公開されたデータを参考にして作業を進めたり、プロジェクトで情報を共有するために利用されており、エンジニアには欠かせないサービスとなっています。

蓄積された膨大なソースデータをAIが学習し、コーディングの時に一歩先読みをして提案をしてくれるのが「GitHub Copilot」です。簡単なプログラムであれば、エンジニアはコメントを書くだけで、コードのほとんどをCopilotの提案にしたがって仕上げることができます。

実際にシステム開発の場面において、全てのコードをオリジナルで作成することはほぼありません。必要な機能を実現するコードを検索し、ヒットしたものを開発中のシステム用にアレンジするといった作業が多くあります。
この部分をAIがサポートしてくれるため、作業効率は格段に向上します。

しかも、学習用のデータソースは、GitHubで公開されており多くのエンジニアによってブラッシュアップされているコードですので、それなりに信頼性も高いと言えるでしょう。

しかしGitHubは、外部サーバー上で動作するサービスのため、セキュリティに厳しいプロジェクトの場合、利用することが困難というケースも存在します。社外へのデータ持ち出しが制限されているプロジェクトの場合、せっかくのAIも活用することができません。
「使えれば便利なのに、、」と思いながら、旧来の開発手法を続けているエンジニアも多いのではないでしょうか。

そんなエンジニアにとって朗報となるのが、「ローカル環境で動作するコーディングアシスタントAI」の登場です。これは「TabbyML」と呼ばれ、2023年の初めぐらいに突然話題となりました。

では、オフィシャルのWEBサイトにどんなことが書かれているか、さっそく見ていきましょう。*注1

オフィシャルと思われるWEBサイトを訪問すると、1ページだけの「ペライチ」であることに少々面食らいます。さらに開発メンバーや組織の情報などは、掲載されていません。
一応Whoisでドメインを参照してみると、2023年2月17日に登録されていました。ドメインの管理者住所はカナダのトロントであり、Google Mapで確認してみると「Samaeyewearshop」と表示されます。メガネ屋さんでしょうか?大丈夫かと心配になります。

とりあえずWEBサイトに記載してある文章を読んでいきましょう。最初に「Tabby: AI Coding Assistant」という章に『複数業、全関数対応でリアルタイムに提案し、コーディングのスピードを加速』(意訳)とあります。

その横にはgifアニメで、コーディングを提案する様子が表示されています。その一つはどうやら「素数判定プログラム」のようです。
しかしコードを詳しくみていくと、ちゃんと動くか怪しいレベルであり、かなり不安を覚えます。プログラムに詳しい方はぜひ確認してみてください。

このWEBサイトには、他にも『高品質』であるとか、『オープンソースだから、セキュリティとコンプライアンスが担保される』などの宣伝文句が並んでいます。
また、Visual Studio Code VIMの拡張機能に対応し、Dockerを使ってセルフホストが可能、など使いやすさも余す所なくアピールしています。
しかし開発メンバーや組織、さらにどんなデータをもとに学習モデルを構築したかなどは全く記述されていません。

レビューで報告されているTabbyMLの実力は

TabbyMLはGitHubからDL可能です。ローカル環境であれば、コンテナを使った仮想化システムである「Docker」を使って利用することができます。Dockerを合わせると100GB程度のストレージを必要としますので、十分な環境を準備してから展開してください。

前節で眺めた通り、若干怪しさも感じられるTabbyMLですが、すでに実行環境を整備してレビューを発表している猛者がいます。ここでは、このようなレビューを参考に、TabbyMLの実力をみていきましょう。

今回の話題の中心となっているのは、2023年04月10日にGigazineに投稿されたレビュー記事です。「Docker上で起動してデフォルトで準備されている関数を試してみた」という内容です。フィボナッチ数列のような関数の例があるのですが、どうやらうまく動かなかったようです。

今回、CPUはi7-6800K、メモリ使用量が30GB程度になると報告されています。しかし、他のレビューではもっと少ない容量で動くとの報告もありますので、環境などによっても異なるのかもしれません。*注2

このレビューでは、Visual Studio Code用の拡張機能を利用したケースも紹介されていますが、コメントをうまくつけることで、なんとかフィボナッチ数列を出力する関数を得ることに成功したようです。
このレビューは、「メモリをかなり要求する」「簡単な関数の提案であれば、うまく導いてやれば入手できる」ぐらいの内容でした。デフォルトで準備されている関数だけしか試してないようなので、実際のコーディング場面で有効かどうかわかりません。

別の方のレビューだと、Dockerを使った場合はうまく起動せず使えなかった、と報告されています。この方の場合もメモリをかなり消費しているようですので、それが原因なのかもしれません。
しかし、Hugging FaceやSalesforceなどにもスクリプトがあり、それは問題なく動いたとのことです。このケースではメモリも大して消費していないので、コメントを工夫すれば問題なく補完してくれています。

しかし、このレビューでもTabbyMLがあらかじめ準備しているコードまでしか試してないことから、実際のコーディングでどのくらい「使えるのか?」については、全くわかりません。*注3

別のレビューでは、TabbyML公式の手順にしたがって環境を整備することで、2GB程度のメモリでも問題なく動くと報告されています。そのレビューで紹介されている最低要件は以下の通りです。

・2G以上のメモリ(RAM)
・Pascal or newer NVIDIA GPU
(TabbyML/Tabbyの公式READMEに記載のあるGet started より)

このレビューによると、Tabbyには異なるモデルが3つあり、それぞれ「TabbyML/J-350M」、「TabbyML/NeoX-70M」、「TabbyML/NeoX-1.3B」です。Docker runの実行コマンド「MODEL_NAME」を変更するだけで切り替えが可能です。
標準では「TabbyML/J-350M」が設定されており、モデルごとにサイズや要求されるGPUメモリなどが異なるようですが、その性能については明確になっていません。

モデルサイズを見ると「TabbyML/NeoX-1.3B」が最上級クラスのようですが、レビューではあまり良い提案をしてくれないと報告されています。
さらにこのレビューでは、社内にサーバーを立てて、複数人で共同利用する環境についても試しています。3名での同時アクセスをしていますが、問題なく動作しています。
このレビューでは、「低スペックマシンで動作可能」「モデルの入れ替えが簡単にできる」「社内ネットワーク環境で問題なく動作する」ことが確認されています。(注4)

TabbyMLはGitHub Copilotと比較してどうなのか

ここまで、TabbyMLのオフィシャルサイトの記述と、何件かのレビュー記事を参考にTabbyMLの性能や実力について確認してみました。なにしろまだ公開されたばかりのツールということもあり、情報が十分ではなく実態が掴めません。

いくつかのレビューについても「環境を構築して起動を確認した」「デフォルトで準備されている関数提案について(多少試行錯誤しながら)確かめた」程度の内容です。
公式サイトでは「順番待ちリスト」への登録を案内しているため、これから本格的なものがリリースされる予定があるのかもしれません。

しかし、あくまで現状に限定して判断するのであれば、TabbyMLは「使い物になるとは思えない」段階です。

それに比べGitHub Copilotは、世界中のエンジニアによる膨大なソースコードを学習データとして使い、クラウド上で動作するサービスです。信頼性・安定性についてはコードアシスタントAI分野において、事実上のトップと言って良いでしょう。

さらに、日々情報が更新され使い勝手も向上している上に、すでにチームでGitHubを活用しているケースであれば、利用に対するハードルも低いはずです。

この比較は、「ローカルアプリか、クラウドサービスか」の議論に近いのかもしれません。世の流れを見ると、ローカルアプリに勝ち目は少ないのではないでしょうか。

【まとめ】
セキュリティや費用の問題があり、GitHub Copilotの利用ができないエンジニアにとって、ローカル環境で動作するコーディングアシスタントAIには興味をそそられます。
今回の記事では2023年はじめに登場したTabbyMLについて、現在わかっていることを中心にまとめてみました。
残念ながら、現時点ではまだ実力不足で発展途上のように思えます。今後さらなる情報の開示や、性能向上が行われることを期待しましょう。

 

建築・土木業向け BIM/CIMの導入方法から活用までがトータルで理解できる ホワイトペーパー配布中!

❶BIM/CIMの概要と重要性
❷BIM/CIM導入までの流れ
❸BIM/CIM導入でよくある失敗と課題
❹BIM活用を進めるためのポイント
についてまとめたホワイトペーパーを配布中


 

▼キャパの公式Twitter・FacebookではITに関する情報を随時更新しています!

■参考文献
注1
TabbyML WEBサイト
https://www.tabbyml.com/

注2
Gigazine 「ローカルPCでセルフホストできてGithub Copilotのように使えるコーディング補助AI「tabby」、Dockerイメージありなので早速使ってみたレビュー」
https://gigazine.net/news/20230410-tabby-self-host-copilot/

注3
きしだのHatena 「ローカルでGitHub Copilotのようなコード補完ができるというtabbyを試して動かなかった件」
https://nowokay.hatenablog.com/entry/2023/04/10/202828

注4
Platinum Data Blog 「GCPで動かしたTabbyをローカルPCで使ってみた」
https://blog.brainpad.co.jp/entry/2023/05/25/153125

    ホワイトペーパーフォームバナー

    【DL可能な資料タイトル】

    • ・プログラムによる建築/土木設計のQCD(品質/コスト/期間)向上
    • ・BIM/CIMの導入から活用までの手引書
    • ・大手ゼネコンBIM活用事例と建設業界のDXについて
    • ・デジタルツイン白書
    • ・建設業/製造業におけるデジタルツインの実現性と施設管理への応用

    詳細はこちら>>>

    PAGE TOP