エムスリーテックブログ

エムスリー(m3)のエンジニア・開発メンバーによる技術ブログです

言語モデルの起源、シャノン論文を読んでみる

記事とは無関係な眠るパンダの様子

AI・機械学習チームの髙橋です。このブログはAI・機械学習チームブログリレー6日目の記事です。

ここ半年ほどでCopilot→Cline→Claude CodeとAIコーディングツールを乗り換えています。Claude Codeは工夫せずとも高い実装力を発揮してくれますが、特にCustom Slash Commandが非常に便利で、どこまでコーディングを自動化できるのか試行錯誤しています。

さて、Claude Codeの根幹には大規模言語モデル(LLM)があり、その基礎となる事前学習のアイデアは、それまでの文脈に基づいて次の文字(トークン)が何であるかモデルに推測させることです。この推測を通じてモデルは言語の文法的な構造や知識を獲得し、更にRLHF等を通じた学習をすることで、人が求める応答が生成できるようになります。

実はこうした、次の文字を予測する枠組みが提案されたのは1951年と古く、これを提案したのは情報理論の父と呼ばれるClaude Shannonです。彼が1951年に発表した論文『Prediction and Entropy of Printed English』で初めて言語モデル(に相当するもの)が登場します。今回はこの論文で提案された言語モデルのアイデアと、Shannonが行った実験について紹介します。

ちなみに、Claude Codeと同じ名前なのは偶然ではなく、サービス名はShannonの名前から取られています。*1

シャノンはなぜ言語モデルを考えたか

続きを読む

API Key 無しで Gemini をセキュアに Google Apps Script から利用する

本文に関係ないドッグランに行ったときの犬たち

こんにちは、AI・機械学習チームの山本(@hiro_o918)です。 このブログは AI・機械学習チームブログリレー 5 日目の記事です。

これまでのリレー記事でも出てきたように、弊社でも AI を活用したプロダクト開発が進んでいます。 それに加えてビジネスサイドでも AI 活用が進んでおり、OSS 版 Dify を導入・運用したり、Google Workspace に付帯する Gemini を活用したりしています。

このような状況から、AI 機能の実装に関してビジネスサイドから相談を受ける機会が多いのですが、その際には利便性だけでなくセキュリティ面も充分考慮した上で導入する必要があります。 そこで、今回は Google Apps Script (GAS) を使って、Google の生成 AI モデルである Gemini を API キー無しでセキュアに利用する方法を解説します。

続きを読む

「英語話せない問題」を2時間のVibe Codingで解決してみた

AI・機械学習チームの中村伊吹(@inakam00)です。 このブログはAI・機械学習チームブログリレー 4日目の記事です。前日は苅野(@hkford3)さんの結婚式ネタでした。今回は新婚旅行ネタです。

先日新婚旅行でハワイへ行くことになりました。楽しみな反面、1つ大きな不安がありました。

ハワイの夕焼け

英語話せない問題

それが英語話せない問題です。 簡単な英会話ならできるものの、複雑な話を伝えることは難しいです。 そのほかにも、発音がうまくできずに伝わらなかったり、現地の訛りがあったりすると、いよいよ大変になってしまいます。 万が一に備えて、何か対策をしておきたいと出国前から考えていました。

そんな時、こんなツイートを発見しました。

続きを読む

自作結婚式受付アプリが当日バグり散らかして現場運用の大切さを噛み締めた話

こんにちは、先月結婚式を挙げて一息ついた AI・機械学習チームの苅野(@hkford3)です。 このブログはAI・機械学習チームブログリレー 3日目の記事です。前日は@inakam00結婚式をLINE BotとAIでエンジニアリングしてみた話でした。今日の記事も結婚式の話です。結婚式はなんぼあってもいいですからね。

結婚式の受付では新郎新婦の知り合いが担当する受付で名前を名乗り参列登録することが多いです。名前を聞き返したり漢字を聞いて名簿と照会したりと意外と受付はやることが多くて大変そうでした。そこで受付の負担を減らそうと思い QR コードで受付登録ができるアプリを作ったところ、期待とは逆に苦戦してしまった話をします。

続きを読む

自分の結婚式をLINE BotとAIでエンジニアリングしてみた話

AI・機械学習チームの中村伊吹(@inakam00)です。

このブログはAI・機械学習チームブログリレー2日目の記事です。 記念すべき1日目は北川さん(@kitagry)の「GCPのテレメトリーのMCPサーバーを作ってボトルネックを発見する」でした。

この前結婚式を挙げたんですが、「せっかくだから何かエンジニアらしさを見せたいな」と思い、「結婚式スマイル集める君」というLINE Botを開発して式中に運用しました。 技術で結婚式を盛り上げたい方の参考になれば嬉しいです。

これは記事とは何も関係のない、地元の青森・正立食堂のうに御前です。一生分のうにを食べました。

  • なぜ作ったのか
  • 「結婚式スマイル集める君」の概要
  • 技術的なポイント
    • スコアリングアルゴリズム
    • AIの「忖度問題」への対応
    • 運用面での工夫
  • 結果と学び
  • ヒヤリハット
  • まとめ
  • We're Hiring!
    • エンジニア採用ページはこちら
    • カジュアル面談もお気軽にどうぞ
    • インターンも常時募集しています
続きを読む

GCPのテレメトリーのMCPサーバーを作ってボトルネックを発見する

AI・機械学習チームの北川(@kitagry)です。 このブログはAI・機械学習チームブログリレー1日目の記事です。

最近Claude Codeがとても流行っている気がしますね。 Vimmerである僕としてはCLIで使えるClaude Codeはとてもありがたいです。 NeovimでもDiffを出したり出来るclaudecode.nvimをとても愛用しています。

カメラを見つめる猫 ※本編には関係ありません

続きを読む