はじめに
人類がこれまでに作成した文書の総量を正確に計測することは非常に困難です。しかし、間違いなく、過去から現在にかけて書籍、学術論文、ウェブコンテンツ、メール、ソーシャルメディアの投稿といった様々な形態で膨大な量のテキストベース情報が存在しています。こういうのを真の意味で「ビッグデータ」と言うのかもしれません。
現在、インターネット上でアクセス可能な広範囲のテキストデータは、数十テラバイトに及ぶと言われている(GPT-4による2023年4月頃の情報: おそらく学習データに使ったであろうテキスト量と予想される)。
ただ、これらインターネット上のテキストでさえ、テキストの巨大な集合(一般に「コーパス(corpus)」ともいう)、今日まで世の中に生成されたテキスト全体のごく一部に過ぎません。
しかしながら、一般的な人間の学習プロセスにおいては、この数十テラバイトのテキストデータを使うことだけで、すでに十分過ぎる解が得られる可能性があります。
なんだか、Wikipediaが登場した初期に似ているように思えます。20年くらい前の当時、Wikipediaはすでに巨大な規模でしたが、正確性や信憑性にはいくつかの問題が指摘されていました。しかし、当時すでにWikipediaは無償で運営されていたということもあり、それは専門書を手に取って学習するのと同等、もしくはそれ以上の価値がすでにあったのかもしれません。当時は一部の人しか真剣には考えてなかったように思います。
つまり、このデータ量は一般人にとっては「十分過ぎるよね」というレベルに達していると言えるでしょう。
端的に言えば、大規模言語モデル(LLM)の登場は、この数十テラバイトのテキストデータとヒトがコミュニケーションをする、新たな方法を提供したということです。
LLMの基礎となるモデルは「データの集合体から法則性や一般的な原則を導き出す推論する」といった帰納法に基づいています。LLMで導き出された解は、この数十テラバイトのテキストデータをBackendとして出てきた答えということになります。(実際のindexingは不明なのでまぁイメージなんですが。。)
長々と前置きを書いてしまいましたが、この辺りにして、この大規模テキストデータとの対話を通じて、R言語の学習を進めていきましょう。
LLMのモデルのなかには、過去の賢者の試行錯誤が刻み込まれていて、きっと我々をスリリングな毎日に誘惑してくれます。すでに、それは、LLMのなかに広がっているはずです。
この記事の引用部分は、LLM(GPT-4)の出力結果を書いています。補足として、私が使用しているGPT-4モデルはカスタムインストラクションを設定して、データ分析、バイオインフォ、R言語に特化させているので、通常のGPT-4よりも専門的な受け答えかもしれません。
出力結果のリンクも貼っておきます。
ChatGPT
R言語をやる目的は何か?
Rを使う目的は様々ですが、いまのトレンドだとデータ解析と可視化でしょうかね。
まずは、R言語をやる目的は何か?と問いかけてみます。その出力結果を見てみます。
何を学ぶか?
一般的にプログラミング学習では何を学ぶべきか?特に、R言語では何を学ぶべきか?
対象の言語の目的に加えて、この問いも、学ぶ前に知っておく必要がありそうなことですね。
そこで、一般的にプログラミング学習では何を学ぶべきか?特に、R言語では何を学ぶべきか?と訊いてみます。その結果です。
ゼロから何を学べばよいか?
ここまでは、R言語の一般的な説明であったのではないかと思います。
そこで、つぎには、もっと、プログラミング学習を進めると言う視点でプロンプトを書いてみます。
例えば、こんな感じのプロンプトでしょうか。
R言語の初心者がゼロからRを学ぶ時には何から始めるべきか?心得と注意点、またRを学びカリキュラムを作成して。
この出力結果を見てみます。
最低限、R言語の何を学べば、実践に移行できるのか?
立派なカリキュラムができてきました。
よしこの通りに学習を進めてやっていけば、、、、、、おそらく初心者は挫折しますよねwww
私からのアドバイスとしては、
もっとR言語のエッセンスを学んで、早めに中級に移行しておくことがオススメです。
実際のところ、プログラミングは学習時ではなく、実戦時でしか、学べないことがたくさんあります。そのため、早く実践に移行することが上達へのカギです。
なので、こう言ったことを新たに質問してみます。
初心者が最低限学ぶべき、R言語のエッセンスは何か?初心者がゼロから中級者に、あるいはより実践ステップに移行していくための最短経路を提示してください。また、それに至るための最適化された学習カリキュラムを提案してください。例えば、1ヶ月以内に完了できることが望ましいです。
これで、だいぶ現実的なカリキュラムができてきましたね。これで、順々にLLMに入力して、R学習を進めていく形でしょうね。
また、気が向いたら、続きをやってみることにしましょう。
まとめ
今回、LLMで、初心者がゼロからR言語を学ぶためのカリキュラムを作成しました。あとは、あなたが順々に実行してくだけです。
LLMを使っていると、思考の整理、問いを持つこと、さらには真を突く深い問いを持つことがどれだけ大事かということを再確認できます。