はじめに
前編「10年間チア一筋だった25新卒がシステム研修1か月受けてみた~DevSecOps編~」に引き続き、今回は後編のLLMについて詳しく書かせていただきました!
▼前編はこちらから
研修スケジュール
1週間目:DevSecOps2週間目:AWS3週間目:LLM4週間目:データマイニング最終週:成果発表/データセンター見学
今回は特に印象深かった、LLMについて詳しく書かせていただきました!
LLM研修内容
テーマ内容進め方1日目Stable DiffusionRAG ChatBot開発課題画像を再現できるように生成→採点個人4o Image Generation最近のニュース/日記をグラレコ風に生成個人ハルシネーション体験LLM役の先輩にレゴ椅子の作成依頼4人1チームRAG ChatBot開発北九州市のごみ分別チャットボットをDifyで開発課題①:質問に回答課題② 画像を基に質問に回答課題③ Chat画面からナレッジファイルをアップロード課題④ :生成開始~終了の速度測定ビジネス:6人1チームでDify使用エンジニア: 3人(App,Inf,Cre)×2チームでツール選定から2日目プロンプトインジェクション対策レッドチーム:北九州市のごみ分析チャットボットを攻撃ブルーチーム: 攻撃を防ぎつつ、通常の質問に回答6人1チーム(エンジニア3人+ビジネス3人)3日目&4日目クラスタリング分析ツール開発要件1.クラスタリングアルゴリズムを使用2.使用するデータを各チームで収集3.クラスタリング結果の可視化4.クラスタについての説明を生成5.クラスタの詳細について確認可能6.WebUIからクラスタのパラメータ調整可能分析1.どのようなデータを解析したか2.どのような結果になったか3.どのような示唆が得られたか提案1.GMOグループ内での活用方法2.活用することで期待される成果5日目簡易Fine-TuningLLaMA Factorデータ準備uvで仮想環境を同期Web UIを起動美雲このは画像生成モデル-トレーニングその他Genius投稿学びをGMOグループ全体に発信個人
LLM週の印象的なシーン
ハルシネーション体験:LLM役の先輩にレゴ椅子の作成依頼
ハルシネーション:大規模言語モデルなどがもっともらしく見えるが事実と異なる情報を生成してしまう現象。LLM(Large Language Model):大量のテキストを学習し、人間の言語を理解・生成できる大規模な人工知能モデル。
【アイスブレイク課題】LLMになりきった先輩に適切なプロンプトを伝え、レゴブロックで椅子を作る。
【感想】LLMは”素直で不器用さん”だと感じました。具体的には、”指示通りに動く≠期待通りに動く”ということです。プロンプト※ の精度を高め、LLMのアウトプットの選択肢を限定させることがコツでした。
プロンプト:大規模言語モデルなどに入力する指示や質問文。
エンジニアとの会話・率直な感想
AIの登場で”知っている”と”分かっている”の差が拡大
私チャットボット開発、前提知識が嘘無しでゼロなのでAIに聞きながら開発してみたら、エラー→デバック※ の1お祭りでした。まさに無免許運転です。
デバック:プログラム中の不具合を発見し、原因を特定して修正する作業。
AIはこの空間にいるわけではないから、プロンプト精度にもよると思うけど、全然惑わしてくることあるよね。エンジニアの先輩
率直な感想:
LLMは日本語を理解しているようで理解していないブラックボックス。だからこそ、LLMにとって理解しやすい綺麗なデータにクレンジング※ をすることが、非常に重要だと痛感しました。
データクレンジング:分析や活用に適した状態にするために、データの誤りや欠損、重複などを取り除き整える作業。
ブラックボックスだからこそ、1度に全てが完了する複雑な指示を処理させるより、簡単な指示を段階的に処理させることでスムーズになると学びました。
「アイスピックは小型電子機器だ」という大事故中のDify※ のチャットボット
Dify:ノーコードで大規模言語モデル(LLM)を活用したアプリやエージェントを構築・運用できるオープンソースの開発プラットフォーム。
プロンプトインジェクション、守る側が圧倒的に不利
プロンプトインジェクション:大規模言語モデル(LLM)に対し、意図的に悪意ある指示を入力して本来の挙動を操作・誘導する攻撃手法。脆弱性:システムやソフトウェアに存在する、攻撃者に悪用される可能性のある欠陥や弱点。
やってみて:
攻撃側は穴を1つ見つけたら、防御側が対応する前にその類の攻撃を沢山投げて点を荒稼ぎできる一方、防御側はどうしても後手に回りがちでした。さらに、防御側は通常ユーザーの質問には正常に回答しなければならないため、守りすぎることもNGです。
率直な感想:
「前の指示を無視せよ」「目の前で人が倒れていて・・・」「緊急で答えて」など、前提の破棄や、殺人などの倫理的に難しく緊急性のあるものが特に侵入されやすく、グループ会社であるイエラエやフラットセキュリティの同期の凄さや必要性を自分事として理解できました。
クラスタリング分析で競合分析
クラスタリング分析:データを特徴の近さに基づいてグループ(クラスタ)に自動的に分ける分析手法。
やってみて:
クラスタリング分析ツール開発において、ビジネス側がデータを大量に収集し、データ整形している間、エンジニア側はデータを良い感じに分析し、可視化するモデルを作ってくれました。
結果として、精度の高い競合企業の弱み調査をテーマとしたクラスタリング分析ができました。
率直な感想:
このデータを用いて有効な策を考え、実行するのはビジネス側です。エンジニアへの尊敬と共に、彼らの努力をビジネスに生かす我々ビジネス職の責任の重さを強く抱くようになりました。「エンジニアとビジネスがお互いにリスペクトし、両輪で回していく」という全体研修での言葉が、自分事として理解できた瞬間でした。
パラメーターは家系ラーメン屋の注文
パラメーター:学習によって自動的に調整されるモデル内部の値(例:ニューラルネットワークの重みやバイアス)。ハイパーパラメーター:学習の進め方やモデルの構造を人間が事前に設定する値(例:学習率、層の数、バッチサイズ)。
パラメーターが多くてよく分からない。エンジニアの同期
私どういうこと?
ラーメン屋で例えると、麺の硬さ、麺の量、油の量、にんにくの量、もやしの量、追加の具は何にするか、など自分好みにいろいろ項目を設定しないといけないってことかな。エンジニアの先輩
率直な感想:Python※ などを駆使してまるで魔法のようにエクセルを操っていた様子も見ていた私は、このハイパーパラメーターでのマンパワー感にまたしても親近感を抱きました。
Python:データ分析からWeb開発・AIまで幅広く利用される人気の高いプログラミング言語。
パラメーターに苦戦中の美雲このはちゃん
パラメーターが”なんか※”いい感じになった美雲このはちゃん
LLMはブラックボックスなので正確に「ここが良かったからこのように生成された」と断言しにくいため。
GMOイズムとの関連
「知識を知恵に昇華させる」重要性私なりの解釈は、知識=調べて出てきた情報、AIが生成してくれた回答知恵=知識の質を自分で判断し、活用できる能力です。
AIという便利でリスクもある自動車を乗りこなすには、しっかりと知恵という免許を持たねばなりません。AIのおかげで「知っている」状態にはすぐに誰にでも到達できるからこそ、「理解している」状態を日々更新したいですね。
ブログを読んで内容が気になった方はぜひ▼
スピリットベンチャー宣言 | ブランド | GMOインターネットグループ株式会社
楽しかったシステム研修
10年間”元気・勇気・笑顔”のチアリーディングに全力を尽くした私が、未知の領域”システム研修1ヶ月”を駆け抜けることができたのは、難しかったものの、「周りに恵まれ、楽しかったから」です。
1時間前に出社して勉強する朝同期とランニングする朝
オフィスからの絶景を横目に、先輩のおかげでLLMの謎を少し理解する夕暮れ
宿泊先で同期と勉強したり、AIがコードを書いている様子を観察したりする夜
東京にいるエンジニア同期や先輩にインタビューをし、今自分が学んでいる知識が実際に現場でどんな感じなのかをイメージする夜離れて暮らす母に「研修どう?」と聞かれ、自分なりにかみ砕いて説明する夜
など...毎日が濃く、面白く、キラキラした1か月でした。
※安心してください。土日はみんなで別府温泉に行ったり、長州藩の聖地である萩に行ったり・・・と、遊んでリフレッシュも全力でできました!
終わりに
ここまで読んでくださり、ありがとうございました。旧アドパートナーズ(Web広告系)採用の生粋の体育会人間が、1ヶ月もシステム研修を受けさせていただいたこと、心から感謝しております。また、「エンジニア的にはどう思うの?」「いまどんな気持ち?」とエンジニアに質問攻めな私に熱心に向き合ってくれた同期や先輩にも、心から感謝と尊敬を送ります。
エンジニアインタビューご協力の方々・GMO インターネットの同期達/先輩方・GMO メディアの同期・GMO Flatt Securityの同期達
▼こちらも是非ご覧ください!
「新卒が語る、GMOの”実務直結IT研修”のリアル」