今回は
まだ活用できていない人のための
大規模言語モデルについてです


解説動画はこちら



最近流行の大規模言語モデルについての概要と
コード生成での活用方法についてです


大規模言語モデルとは

英:large language model
日:大規模言語モデル

多数のパラメータを持つ
ニューラルネットワークで構成される
コンピュータ言語モデルのこと

自然言語処理分野のさまざまなタスクで
優れた性能を発揮し 世の中の一般知識や
訓練中の事実を記憶することができるため
さまざまな自然言語タスクに応用することができる
というものです。

LLMの作成には大量のテキストデータで事前訓練が行われ
高品質な言語データは数兆語に及ぶと推定されています


現在の主流は
・巨大テキストデータセットを用いた、事前学習(Pre-Training)
・性能を最適化する、微調整(Fine-Tuning)
の2段階のプロセスで構成されています。

自社でLLMを活用する際は学習データを用意して
ファインチューニングを行い
業務に最適化させる必要があります。


大規模言語モデル(LLM)の種類

GoogleのBERTやLaMDA
ChatGPTに用いられているGPT-4
新興系だとAnthropicのClaudeなどがあります

その他、2023年現在では
様々な言語モデルが登場しています。



大規模言語モデル(LLM)の活用方法 

LLMの活用は
指示を送る入力文(プロンプト)の
エンジニアリング次第です

ここからはコード生成における
プロンプトエンジニアリングの
ベストプラクティスをお送りします

・ベストプラクティス

「命令文」「制約条件」「入力文」の
3構成に分けそれぞれで詳細な設定を行う

ここからは詳細なプロンプトの書き方を
説明します。

1.プロンプトの最初に指示を書く

役割や目的を明示しておくと良いでしょう

例:
あなたはFlutterで開発をしているプログラマーです
以下の条件でコードを修正してください

2.区切り文字を使用する

例:
# 命令書
・・・・・・・・

# 条件
・・・・・・・・


3.前提条件(制約)を指定する

使用できるライブラリや変数名を
細かく指定するとうまく行く確率が上がります

例:
#条件
・bodyにリストビューを追加する
・リスト表示用のデータはxxxを使用する
・・・・



4.出力形式を追加する

XXXメソッドの部分を直す等
細かく指定するほど出力される
コードの精度も上がるようです

例:
#条件
・XXメソッドの戻り値を文字列に変更する
・・・・

5.コードを入力する

コードを修正してもらいたい場合は
修正対象のコードをそのまま入力します

例:
#以下はflutterのコードです
・・・・
・・・・・

コピペしましょう



LLMを活用するための便利なツール

・OpenAI:ChatGPT
・Bing:AIチャット
・Google:Bard
・Anthropic:Claude

など、現在では使用できるLLMサービスが複数あります
一個一個使用するのは面倒くさかったりもするので
一気にまとめてプロンプトを投げられる
ツールが有ります。

「ChatHub」

Google Chromeのプラグインになるので
Google webstoreなどからインストール出来ます。

使用感は動画の方を見ていただければと思います。


今回はLLMとその活用方法について
お伝えしました。

コード作成がめちゃくちゃ捗るので
活用しない手は無いですね

是非色々活用してみて下さい
それでは。