はじめに
2022年11月30日、ChatGPTがOpenAIからリリースされました。
みなさんも仕事に勉強に副業に活用されてるのではないでしょうか。
僕も早速仕事で使って、圧倒的な効率化とスピードアップを実現しています。
同じOpenAIから全モデルのGPT-3がリリースされたときも、その精度に驚きと衝撃が走りましたが、今回のChatGPTの衝撃はGPT-3のときをはるかに凌駕しています。
その実力の裏付けとして、2023年2月現在ネット界隈では大きな話題となっています。
GPT-3のときも騒ぎになりましたが、ネットニュースとかテレビのニュースで大々的に取り上げられるのは、おそらくChatGPTが初ではないでしょうか。
無料で使えることから利用者数も急増し、レスポンスが悪くなったり、利用制限がかかるようになってしまいましたが、まだ無料で提供してくれています。
ChatGPTの何がそれほどすごいのでしょうか?
企業のホームページにアクセスしたときに、チャットで質問を受け付けてくれるホームページが増えてきましたが、特定の製品・サービスに対する質問を受け付けるチャットボットを「特化型」と呼びます。
一方、汎用的にどんな質問でも人間らしいコミュニケーションができるチャットボットを「汎用型」と呼びます。
以前から汎用型のチャットボットもあることにはありましたが、ChatGPTの会話のレベルは圧倒的でした。
ここまで自然に会話が成り立つのはこれまで考えられませんでした。
人生相談の話も的確に回答してくれます。
※いろいろ使ってみた回答の結果は、後述していますのでその内容で驚きの内容が伝わると思います。
ChatGPTリリースを受けて、Googleが緊急事態宣言(Code Red)を発令したと言われています。
ここまで精度良く質問に回答してくれるサービスがあれば、Googleのような検索エンジンが不要になります。
検索は結構面倒ですよね。ほしい情報がさっと見つかればいいですが、表示されたサイトを1つずつクリックして、内容確認してほしい情報が無ければそれを延々と繰り返す必要があります。
これが、一言チャットで返事をくれれば事足りる可能性があるのです。
Googleの収益の大半は広告事業といわれていますが、そのビジネスが崩れる可能性があるため、まさにGoogleにとっては緊急事態でしょう。
検索以外にもコードレビュー、手順書レビュー、アプリケーション作成、教育・育成、メンター・・・など、用途は無限大です。
アプリケーション作成でコードを書かないノーコードという用語も流行っていいますが、近い将来「ノーエンジニア」が実現される未来も近づいて来ているかもしれません。
なぜなら、言葉で話しかけるだけでコードが生成できるのですから、決してSF映画などの夢物語だけの話ではないでしょう。
そんなゲームチェンジャーとなるChatGPTについて、執筆しました。
ChatGPTとは?
openAIか開発したAIチャットボットです。
これまでGPT-1、GPT-2、GPT-3と進化してきましたが、同じ流れを汲むモデルです。
GPTはTransformerという仕組みを利用したモデルです。
Transformerとは自然言語処理の分野で、席巻しているモデルで話題のGPTシリーズやGoogleのBERT等、近年のメジャーな自然言語処理モデルの大半がこのTransformerを利用しています。
Transformerのすごいところは、自然言語処理の分野だけでなく、Vision Transformer等、画像認識の分野でも応用され始めているところです。
AIの最終的な理想形は、「強いAI」と呼ばれる汎用型AIが理想ですが、このTransformerの登場によって、その夢に一歩近づいているのかもしれません。
さて、GPTシリーズの規模の目安としてパラメータ数がありますが、モデルに進化に伴って格段にパラメータ数が増大しています。
- GPT-1: 1.1億
- GPT-2: 15億
- GPT-3: 1750億
- GPT-3.5: ?
- GPT-4: 1兆?(噂) 未リリース
※GPT-4の100兆という情報も拡散していましたが、CEOがでたらめな噂と否定しています。
※GPT-3.5のパラメータ数も今のところ情報がなさそうです。
OpenAIのブログより
ChatGPT は、2022 年初頭にトレーニングを終了した GPT-3.5 シリーズのモデルから微調整されています。
ChatGPTはGPT-3.5相当ということですので、パラメータ数はGPT-3とGPT-4の真ん中くらいでしょうか。
2023年2月にMicrosoftが発表したbingと統合したGPTに関しては、GPT-3.5かGPT-4か意見がいろいろありましたが、公式な情報は見つけられませんでした。
(執筆時点で、いろいろ記事を見た結果、意見がわかれていましたが公式な発表としてGPT-4なのかどうかは情報が見つかりませんでした)
GPT-3.5と呼ばれるモデルは以下がOpenAI公式の説明です。
davinci-XXXというのは、GPT-3を使うときに選べるモデルです。
ChatGPTはGPT-3.5を微調整しているようですので、GPT-3でもChatGPT相当のことはできることになります。
(このあたりは少々ややこしいので、間違った情報もちらほら見かけますが、正しい情報は公式サイトを必ず確認しましょう)
Models referred to as “GPT 3.5”
GPT-3.5 series is a series of models that was trained on a blend of text and code from before Q4 2021. The following models are in the GPT-3.5 series:
- code-davinci-002 is a base model, so good for pure code-completion tasks
- text-davinci-002 is an InstructGPT model based on code-davinci-002
- text-davinci-003 is an improvement on text-davinci-002
OpenAIとMicrosoftの関係
OpenAIは2015年に設立されました。
設立当初、共同出資者としてイーロン・マスクも参加していたのが有名ですね。
もともとは「Open」という名の通り非営利団体だったようですが、近年その思想が変わってきたような動きを見せています。
Microsoft社がOpenAIの技術に目をつけて、OpenAIと提携をし始めたのです。最初は2019年ごろから出資を始めました。
2019年といえばちょうどGPT-2がリリースされて、GPT-3のリリース前くらいでしょうか。
GPT-2の時点でも、そこそこ面白い文章生成ができていましたが、実用面では、さっぱりでした。適当なポエムくらいの印象でしたが、その時点で目を付けたMicrosoftはさすがという感じです。
先日も追加でMicrosoft社がOpenAIに100億ドル(およそ1兆3000億円)の出資を検討中との記事がありましたので、今後も提携が強化されていくことでしょう。
Microsoft社としては、自社サービスにGPT-3、GPT-3.5相当の技術を組み込み始めています。
AzureのAIサービスとして、GPT-3、ChatGPTも予定されています。
(この文章を書いてるころにはもうサービス化されているかもしれません)
GPTシリーズは膨大な量の学習データ(言語データ)を学習しており、コンピュータリソースも膨大なものになっています。本当かどうかわかりませんが、電気代だけで5億円という情報も見かけました。
それだけのコンピュータリソースを持った企業は、世界でも一握りでしょう。GPT-3.5、ChatGPT等はAzure上のリソースを活用したともいわれており、メガクラウドベンダーであるMicrosoftが適任だったわけです。
MicrosoftとOpenAIはまさにWin-Winの関係が築けていますね。
ChatGPTで何ができるのか?
名前のとおりチャットができます。
ただのチャットではなく、質問に対してかなり的確な回答をしてくれます。
昔のチャットボットは、人が入力した質問に対して1つずつ回答案を用意しておき、回答しているだけでした。想定外の質問については「わかりません」というだけです。
シンプルですが、FAQなどある程度ナレッジがたまった問い合わせ窓口用のチャットとしては、効果的でした。
- ルールベース
- 人間が人手で回答案を用意
- AIベース
- AIが事前に学習データ(自然言語データ)を学習し、AIが質問に対する回答を用意
ChatGPTはAIチャットボットの一種です。
事前に大量の学習データ(自然言語データ)を学習して、「こういった質問に対しては、こういった回答するのが正しい」というパターンを学習して利用します。
AIは、単純に学習データの言語情報から、正しいパターンを学習しているだけで、残念ながら言葉は理解できていません。
これはChatGPTに限らず、現在のAIでは言葉は理解できないのです。
ただ、言葉は理解できていなくても、あたかも言葉を理解できているかのように振る舞うことは可能です。
学習データから、限りなく自然な会話として成立する正解を見つけ出せればいいだけです。
「限りなく」のレベル感が重要ですが、ChatGPTは圧倒的に自然な回答が得られることから、世界に衝撃が走りました。
話題の大きさから、世界に与えたインパクトの大きさがわかりますね。
百聞は一見にしかず、さっそくまずは実行例を見てみましょう。
いきなり、ちょっと小難しい質問を投げてみました。
質問1
質問文
ITエンジニアの成功とは何ですか?
回答文章
ITエンジニアにおいて、「成功」の概念は多様です。一般的には、以下のようなことが成功の要素となる場合があります。
技術的なスキルの向上:新しい技術やツールに積極的に取り組んで、スキルを向上させること。
職業上のアチーブメント:キャリアアップ、プロジェクトの成功、高い評価など。
貢献:企業や社会に貢献すること、プロジェクトやサービスに貢献すること。
自己満足:自分自身の技術や能力を活用して、自分自身の能力を評価すること。
これらは一例であり、個人によっては異なる要素を重視する場合もあります。ITエンジニアとしての「成功」を定義するには、自分自身の価値観や目標を明確にすることが大切です。
【参考】ChatGPTの実際の応答画面
数秒くらい待ちましたが、そのあとはスラスラと文章を回答してくれました。
最後の1文で全て語られているように思います。
「自分自身の価値観や目標を明確にすることが大切です」
まさに、おっしゃる通りです。笑
ビジネス本や、自己啓発の本に書いてあってもおかしくはないですね。
僕は朝ごはん食べない派ですが、ChatGPTの意見を聞いてみましょう。
次の質問からは実際の画面のみ貼り付けています。
質問2
朝ごはんは重要だけど、注意点として摂取量や種類によっては、健康を害するという注意まで補足してくれています。
朝から甘いものとか塩分取りすぎは、逆に体に悪そうですから。この回答も間違ってはないと思います。
逆に、「食べないと体に悪いのか?」という質問をしてみましょう。
質問3
回答内容な同じような内容ですが、質問に対して自然な流れの回答になっていますね。
「実はChatGPTのフリをして、人間が回答しています」と言われても、本当なのか嘘なのか見分けがつかないレベルです。
ChatGPTが勝手にブログを書いても人間とほぼ見分けがつかないことでしょう。
実際、人間のブログとChatGPTのブログでどちらが本物の人間が書いたブログなのか、人間が当てるという実験もあちこちで実施されています。
たいていの場合、ChatGPTのブログだと見分けることが難しいです。
ChatGPTのすごいところは、チャットで返事をくれるだけではありません。
お願い1
コードもお願いすれば生成してくれます。
エンジニア界隈で騒ぎになってるのも、このコードまで作ってくれるというのがインパクトが大きかったと思います。
お願い文
センスのいいモダンな新しい検索エンジンのトップページをHTML、CSS、javascriptで作ってください。
回答文
以下がサンプル HTML、CSS、JavaScript コードです。
<!DOCTYPE html>
<html>
<head>
<title>My Modern Search Engine</title>
<style>
/* Add your CSS styles here */
body {
font-family: Arial, sans-serif;
display: flex;
flex-direction: column;
align-items: center;
}
header {
background-color: lightgray;
padding: 1rem;
}
h1 {
margin: 0;
}
form {
margin-top: 2rem;
display: flex;
justify-content: center;
}
input[type="text"] {
font-size: 1rem;
padding: 0.5rem;
border: none;
border-bottom: 2px solid gray;
outline: none;
margin-right: 1rem;
width: 70%;
}
button[type="submit"] {
font-size: 1rem;
padding: 0.5rem 1rem;
background-color: lightgray;
border: none;
cursor: pointer;
}
</style>
</head>
<body>
<header>
<h1>My Modern Search Engine</h1>
</header>
<form>
<input type="text" name="query" placeholder="Search...">
<button type="submit">Search</button>
</form>
<!-- Add your JavaScript code here -->
<script>
// Your JavaScript code here
</script>
</body>
</html>
この HTML、CSS、JavaScript コードは検索エンジンのトップページを作るためのスタート地点となるものです。具体的な検索ロジックや検索結果の表示方法などは、このコードには含まれていません。ご自身で作成するか、他のフレームワークやライブラリを使用することで追加することができます。
【参考】実際の画面
何やら、ずらずらとコードを返してくれました。
これが実際動くということなのでしょうか?
htmlファイルを用意して、上記のコードを貼り付けてブラウザで表示してみました。
センスがいいかはよくわかりませんが、少しモダンなシンプルなトップページができあがりました。
検索するだけのインターフェースであれば、これで十分でしょう。
これが、数秒待つだけでできあがるのです。
入社したての新入社員にお願いするよりはるかに高速です。
ChatGPTで何ができるかイメージはわかりましたでしょうか?
ざっと紹介した以外にも、世界中でいろんな使われ方をして日々新たな発見があります。
見ているだけでは実感がわかないと思いますので、実際試してみましょう。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ChatGPTの始め方
2023/2/13現在、アカウントを登録するだけで無料で使えます。
ただ、利用者急増により、アクセス制限で使えない時間があったり、レスポンスが悪くなったりしていますので、使えないときはしばらく時間をおいてから使いましょう。
OpenAIのChatGPTのページにログイン
以下にアクセスしてOpenAIにログインします。
https://chat.openai.com/chat
OpenAIのアカウントを持っていない人は、まずアカウントを作りましょう。
最初、以下のような画面が出ますので「Sign up」をクリックします。
続けて以下の画面が表示されます。
メールアドレスを入力して「Continue」を押します。
そのあとは指定したメールアドレスに確認のメールが届きますので指示に従って進めましょう。
Google、Microsoftのアカウントとも連携していますので、必要に応じて「Continue with Google」、「Continue with Microsoft Account」を選択してください。
無事ログインができたら以下のような画面が表示されます。
「Next」を押していきましょう。
一通り説明を読み終わったら以下の画面が表示されます。
赤枠のところに、チャットしたい文章を書きこみます。
試しに、「こんにちは」と入れてみましょう。
Enterを押すか右側の紙飛行機のようなアイコンをクリックすると実行できます。
少し待つと回答が返ってきます。
あとは同じようにチャットで会話するように文章を入力することの繰り返しです。
「健康」とは一言も言ってないのに、「健康的な昼食」を提案してくれているようです。
使い方はこれだけです。とても簡単ですね?
GPT-3のときも、同じようにチャットはできたのですが、少しFew-shotと呼ばれる文章を与えてあげないと、ここまで自然な回答は得られませんでした。あと、画面上もパラメータが設定できるので、小難しい印象があったのもマイナスイメージだったかもしれません。
単純にチャット機能だけに絞ったのも、シンプルで多くの人に受け入れられて大成功だったと考えています。
ChatGPTをいろいろ使ってみた
使い方はすぐにわかると思いますので、他にもいろいろ使ってみた事例を貼り付けておきます。
本当にいろんな用途で使えますので、何かのヒントになれば幸いです。
※「使ってみた」シリーズでは、実際の画面だけ貼り付けています。
使ってみた①
円周率はほぼ覚えてないですが、3.141くらいまでだったら合ってそうですね。
使ってみた②
んー、なるほど。量子コンピュータという用語はよく聞くようになりましたが、ぼんやりとしかわかってませんでした。
こんなことができるのですね。
使ってみた③
ピアノの原理はよくわかりませんが、何となく合ってそうです。
使ってみた④
ちょっとオープンクエスチョンな質問
SDGsについて、ぼんやりとしか理解していない僕が答えるより、まともな答えですね・・・
使ってみた➄
あまり聞きたくなかったですが、聞いてみました。
太陽が暴れ狂うのは想像しただけで恐ろしいですね。しかも5億年というのは、地球の歴史から考えるとそう遠くない未来のようにも思えてしまいます。
SFの世界にもあるように、人類は惑星間を渡り歩かないといけない運命のようです。
使ってみた⑥
質問はシンプルだったのですが、結構長文で語ってくれました。
メリット、デメリットを聞いたので、あまり短い回答では済まなかったのかもしれません。
使ってみた⑦
円安の時代ですので、日本株で影響受けやすい銘柄を聞いてみました。
もう少しダイレクトに銘柄を教えてくれるとうれしかったですが、業界的にはこんなものでしょうか。
使ってみた⑧
「1つ」とあえて書きましたが、あまり通じなかったようです。
でも業界については教えてくれました。
使ってみた⑨
たしかに、仮想通貨はまだまだギャンブル要素が強いので、リスクを理解したうえで投資しないといけないですね。
以上、使ってみた例ですがいかがでしょうか?
みなさんもアカウントを登録するだけで無料で使えますので、どんどん使ってみましょう。
応用事例
ここまで汎用的に回答が得られると、応用事例は無限大にありそうですが、エンジニア視点であったらうれしい実現できそうなものをピックアップしてみました。
- 文章生成
- 定型文生成
- メールの返信作成
- チャットの返事
- 検索機能
- 技術情報の調査
- 情報収集
- 設計書作成
- 基本設計書作成
- レビュー機能
- コードレビュー
- 設計レビュー
- 手順書レビュー
- コード生成
- プログラムコード生成
まだまだエンジニアの業務で応用できそうですが、いくつかピックアップして試してみましょう。
実際エンジニアが業務で使えそうな応用事例を考えてみました。
長くなってきましたので、続きはKindle本で! (Kindle Unlimitedで無料で読めます)
※ITエンジニアが仕事で役立つ応用ネタ
コメント