革新的なコード生成LLM "Codestral Mamba 7B" を試してみた

革新的なコード生成LLM "Codestral Mamba 7B" を試してみた

今日は、2024年7月16日にリリースされた新しいコード生成LLM、"mistralai/mamba-codestral-7B-v0.1"(通称:Codestral Mamba 7B)を試してみました。

このモデルは、新しいMambaアーキテクチャを採用しており、Apache2ライセンスで公開されています。

コード生成のSOTAモデルに迫る性能

Mamba アーキテクチャを採用した Codestral 7B ですが、Human Eval で 75% を達成しており、Transformerベースのコード生成 SOTA モデルと同等のパフォーマンスを実現しています。

さらに、シーケンス長に対しての処理劣化がないため、かなり期待のできるモデル&アーキテクチャといえますね。

動画にまとめています

"mistralai/mamba-codestral-7B-v0.1" の試用レポートはこちらの動画にもまとめてありますので、よろしければ、こちらもご覧くださいませ

Codestral Mamba 7Bの特徴

  1. 無限の長さのシーケンスをモデル化する能力
  2. 長いシーケンスでも高速処理が可能
  3. Transformerベースの最高性能モデルと同等のパフォーマンス

実験内容

  1. Pythonプログラムの生成
    • 1から1000までの和の計算
    • 1から100までの偶数の表示
    • フィボナッチ数列の生成
    • 摂氏から華氏への変換
    • ランダムパスワードの生成
    • リスト内の2番目に大きい数の抽出
  2. コード補完
    • 文字列反転関数
    • 平均計算関数
    • リストのフラット化関数
    • BMI計算関数
  3. 長文指示によるコード生成
    • Mistral LLMを使用した対話型チャットの作成

結果

Codestral Mamba 7Bは、各タスクにおいて満足のいく出力をだしてくれました。プログラムの生成では正確なコードを出力し、コード補完では適切な実装を提案してくれました。長文指示に対しても、APIを使用した対話型チャットのコードを生成するなど、柔軟な対応を見せてくれていました。

まとめ

今回はCodestral Mamba 7Bのファーストルックレポートをお届けいたしました。

様々なPythonプログラムの生成や関数の補完を通じて、その性能の高さと可能性を実感することができました。

まだ、本格的なコード生成を試せていないため、これから実務レベルのコードが生成できるのか、という観点でさらに試してみたいと思います!

Read more

楽観的ロック vs 悲観的ロック:実際のトラブルから学ぶ排他制御

楽観的ロック vs 悲観的ロック:実際のトラブルから学ぶ排他制御

こんにちは! Qualitegプロダクト開発部です! 「楽観的ロックを実装したのに、まだ競合エラーが出るんですけど...」 これは私たちが実際に経験したことです。 本記事では、楽観的ロックと悲観的ロックの違いを、実際に発生したトラブルを通じて解説します。 抽象的な説明ではなく、 「なぜそれが必要なのか」「どんな問題を解決できるのか」 を実感できる内容を目指します。 目次 1. 問題の背景:並列処理で謎のエラー 2. ロックなしの世界:なぜ競合が起きるのか 3. 楽観的ロックの導入:期待と現実 4. 楽観的ロックの限界:解決できなかった問題 5. 悲観的ロックによる解決 6. 実装時のハマりポイント 7. どちらを選ぶべきか:判断基準 8. まとめ 1. 問題の背景:並列処理で謎のエラー 1.1 システムの概要 私たちが開発していたのは、 複数のワークスペースを切り替えて使用するAPIサーバー でした。 当社AI関係のプロダクトの一部だったのですが、結合テスト兼負荷テストを実行すると、まれに発生してしまっていました。 ユーザーは複数のワーキン

By Qualiteg プロダクト開発部
企業セキュリティはなぜ複雑になったのか? 〜AD+Proxyの時代から現代のクラウド対応まで〜

企業セキュリティはなぜ複雑になったのか? 〜AD+Proxyの時代から現代のクラウド対応まで〜

こんにちは! ChatGPTやClaudeといった生成AIサービスが業務に浸透し始めた今、 「AIに機密情報を送ってしまうリスク」 が新たなセキュリティ課題として浮上しています。 この課題に向き合う中で、私たちは改めて「企業のセキュリティアーキテクチャはどう変遷してきたのか」を振り返る機会がありました。 すると、ある疑問が浮かんできます。 「なんでこんなに複雑になってるんだっけ?」 企業のセキュリティ担当者なら、一度は思ったことがあるのではないでしょうか。 アルファベット3〜4文字の製品が乱立し、それぞれが微妙に重複した機能を持ち、設定は複雑化し、コストは膨らみ続けています。 当社ではAIセキュリティ関連プロダクトをご提供しておりますが、AI時代のセキュリティを考える上でも、この歴史を理解することは重要ではないかと考えました。 本記事では、企業ネットワークセキュリティの変遷を振り返りながら、「なぜこうなったのか」を整理してみたいと思います。 第1章:観測点を集約できた時代 ― オンプレAD + Proxy(〜2010年代前半) 統制しやすかったモデル かつ

By Qualiteg コンサルティング, Qualiteg AIセキュリティチーム
【IT温故知新】WS-* の栄光と黄昏:エンタープライズITはいかにして「実装」に敗北したか

【IT温故知新】WS-* の栄光と黄昏:エンタープライズITはいかにして「実装」に敗北したか

こんにちは。 —— 2003年のSOAから、2026年のAIへ —— この記事は、過去の技術動向を振り返り、そこから学べる教訓について考察してみたものです。 歴史は常に、後から見れば明らかなことが、当時は見えなかったという教訓を与えてくれます。 そして、今私たちが「正しい」と信じていることもまた、20年後には違う評価を受けているかもしれません。 だからこそ、振り返ることには意味があるとおもいます。同じ轍を踏まないために。 はじめに:20年前の熱狂を覚えていますか 2000年代初頭。 私はSOA(サービス指向アーキテクチャ)に本気で取り組んでいました。 当時、SOAは「次世代のエンタープライズアーキテクチャ」として、業界全体が熱狂していました。 カンファレンスに行けば満員御礼、ベンダーのブースには人だかり、書店にも関連の書籍がちらほらと。 SOAP、SOAP with attachments、JAX-RPC、WS-Security、WS-ReliableMessaging、WS-AtomicTransaction... 仕様書の山と格闘する日々でした。 あれから

By Qualiteg コンサルティング
DockerビルドでPythonをソースからビルドするとGCCがSegmentation faultする話

DockerビルドでPythonをソースからビルドするとGCCがSegmentation faultする話

こんにちは!Qualitegプロダクト開発部です! 本日は Docker環境でPythonをソースからビルドした際に発生した、GCCの内部コンパイラエラー(Segmentation fault) について共有します。 一見すると「リソース不足」や「Docker特有の問題」に見えますが、実際には PGO(Profile Guided Optimization)とLTO(Link Time Optimization)を同時に有効にした場合に、GCC自身がクラッシュするケースでした。 ただ、今回はDockerによって問題が隠れやすいという点もきづいたので、あえてDockerを織り交ぜた構成でのPythonソースビルドとGCCクラッシュについて実際に発生した題材をもとに共有させていただこうとおもいます 同様の構成でビルドしている方の参考になれば幸いです TL;DR * Docker内でPythonを --enable-optimizations --with-lto 付きでソースビルドすると GCCが internal compiler error(Segmentati

By Qualiteg プロダクト開発部