paint-brush
現在 (および将来) の GPT-3 トレーニング プログラマー@mcsee
3,298 測定値
3,298 測定値

現在 (および将来) の GPT-3 トレーニング プログラマー

Maximiliano Contieri2022/06/27
Read on Terminal Reader
Read this story w/o Javascript

長すぎる; 読むには

現在の市場では、流行の言語を使用してレンガを積み上げるプログラマーが求められています。そのような専門家は、ライフサイクルが非常に短く、その後時代遅れになる特定のツールについて訓練を受けています。 2021 年までには、低レベルのプログラミングやアルゴリズム タスクを実行できる、人工知能や機械学習に代わるものがすでに数多く存在します。専門家がある技術から別の技術に簡単に移行できるように、これらの概念の形成に集中する必要があります (これも偶発的であり、したがってすぐに時代遅れになります)。人工知能の脅威は、自動化された時代遅れの職業の脅威と同じです。

People Mentioned

Mention Thumbnail

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - 現在 (および将来) の GPT-3 トレーニング プログラマー
Maximiliano Contieri HackerNoon profile picture

私はスペイン語で論文を書き、「他の誰か」に書き直してもらいました


昨年、プログラマーの将来についてスペイン語で論文を書きました


TL;DR: 論文を手動で翻訳する代わりに、 GPT-3で完全に書き直すことにしました。


同様に、 The GuardianGPT-3がプライベート ベータ版だったときの質問をしました。


記事の翻訳を依頼たところ、タイトルが不十分であると判断されました。

だからそれを現在と未来に変えた

😱怖いですね。


次へ移りましょう。


したがって、これは GPT-3 によって書き直された元の論文です。


// これを英語に翻訳し、技術記事に変換します。

概要

現在の市場では、トレンディな言語を使用してレンガ (1) を積み重ねるプログラマーが求められています。そのような専門家は、ライフサイクルが非常に短く、その後時代遅れになる特定のツールについて訓練を受けています。


現在、自分で決定を下し、創造的なプロセスに参加できる知的な人々を使用してコンピューター開発を実行する代替手段があります。


将来のプログラマーは、優れた宣言型でなければなりません (2)。アルゴリズムと複雑さを知り、ノウハウを持っている専門家

序章

世界のほとんどの開発者は、古いシステムに変更を加えているか、ほとんど制御できず、変更する機会がほとんどない複雑な既存のライブラリまたはフレームワークを使用する必要があります。 (3)


今日のソフトウェア業界では、完全に空白のページでゼロから開発する必要性を見つけることはほとんどありません。


ファッショナブルな言語とともに、プログラマー時代の特定の寿命。この期間は通常 10 年未満であるため、業界は 10 年間のトレーニングを行う前に専門家を時代遅れとして切り捨てます。 (4)


過去数十年間、それらは特効薬 (5)、Visual Basic、C ++、Java、Php、Perl、Javascript、Ruby、Python、および GoLang などの言語として流行していました。

それらのいくつかは、すでに使用されなくなっており、新しいファッションのためにその場所を残しています. (6)


一般的な概念 (Frederick Brooks が必須と呼んでいる (7)) は、最初の学業段階でよりよく吸収されます。専門家が 1 つのテクノロジー (Brooks はこれを偶発的と呼んでいます) から別のテクノロジー (これも偶発的であり、したがってすぐに時代遅れになる) に簡単に移行できるように、これらの概念の形成に集中する必要があります。

脅威

2021 年までに、人工知能と機械学習に代わる低レベルのプログラミングとアルゴリズム タスクを実行できる多数の代替手段がすでに存在します (8) (9)。

最新の仮想マシン (プログラミングに使用され、Web ブラウザーなどに存在する高級言語を解釈する仮想マシン) は、コードを最適化します。 (10)


技術が進歩するにつれて、今日誰も図書館員を探していないのと同じように、低レベルのプログラマーは必要なくなります (11)。他の自動化可能で時代遅れの職業で起こることと同様です。 (12)


私たちの職業は、1960 年代または 1970 年代の特殊なハードウェアがパンチ カードとオープン テープ マシンであった問題に直面しているかのように、低レベルの命令型プログラミングを教えることに依然基づいています。


私たちは、機械の言語に非常に近く、コンピューターソリューションで表現している問題のエンティティのモデリングからはほど遠い、ばかげた時代遅れのアルゴリズム最適化を実行するように学生を教育します。


私たちは専門家を訓練して、コンピューターがどのように機能するかを理解し、その言語で話すように自分自身を低くし、低レベルのメンタル モデルを形成し、チューリング マシンが処理するアルゴリズムの方法で推論しようとします。


しかし、今日では、機械の計算可能な抽象化から同時に遠ざかる宣言的なメンタル モデルにアプローチするにつれて、上にいくつかの抽象化レイヤーを持つセマンティック モデルを開発できます。最も宣言的なプログラミング言語を使用すると、モデルに関するルールを推論し、推測することができます。この傾向に反して、生徒たちは 1 と 0 に基づいて指示を書きます。


ムーアの法則 (14) は、ハードウェアの変化の速度と、その処理能力の指数関数的成長について教えてくれます。ソフトウェアに関しては、私たちは何十年も前の現実とトレーナーの慣性によって直線的に制限されて成長します.マルサスの経済理論 (15) と同様に、機械が私たちに代わってそれを行う前に、すべての可能性を解放できるようにするには、ハードウェア曲線に追いつく必要があります。


現実の抽象化と理解の欠如は、60 年代と 70 年代のプロセッサとストレージの時間制限に基づいた慣性的な​​考え方の兆候です。これらの制限は、今日では非常に特定のドメインに限定されており、ソフトウェア エンジニアとしてほとんどの仕事で今日解決しなければならない問題を代表するものではありません。 (16)

代替手段

私たちはゼネラリストを訓練する必要がありますが、理論家を訓練する必要はありません。ソフトウェア エンジニアリングの基本と基礎を理解し、現在のツールに基づく偶発的な実装だけでなく、今日まだ知らない将来のツールにも適応できる人。


ソフトウェア設計、ライフサイクルモデル、チームワークと共有理論の構築 (17)、継続的統合と展開またはアーキテクチャなどの概念は、CPU 使用率を最小限に抑えること、React、Vue フレームワーク、または Keta ライブラリを使用することを学ぶことよりもはるかに重要です。 .


「特に未来について予測することは非常に難しい」.偉大なニールス ボーアに由来するこのフレーズは、未来を予測しようとするときは注意する必要があることを教えてくれます。

2004 年のチューリング賞 (18) を言い換えると、アラン キーは次のように述べています。「未来を予測する最善の方法は、それを発明することです」。


機械の自動化がどのような道筋をたどるかは確かではありませんが、私たちの職業の中で最も創造的でエンジニアリング的な部分は、自動化の前に陥る最後の砦の 1 つになるはずだと予測できます。


次世代のソフトウェア開発者は、設計、現実世界のモデル化、および問題領域とともに進化する抽象化の作成にスキルを集中して、時代遅れのレガシー ソフトウェアを構築することを回避する必要があります (19)。


この戦略的アプローチは、開発キャリアだけに限定されません。データ サイエンスにも同様の問題があります。データ サイエンティストは、ジェネラリストの専門家を訓練する代わりに、既存のアルゴリズムを最適化することに重点を置いており、一連のソリューションと、それぞれの状況でどれを選択するかを決定する適切な基準を使用して、我が国の学術的および商業的問題を理解することができます。彼らは、実際の問題をモデル化し、さまざまな可能な解決策を評価するように訓練する必要があります。


データ サイエンスの専門家は、モデルを調整するための非常に多様なツールを使用しています。一般的なソリューションで特定の問題を解決できる2番目の「スーパーアルゴリズム」(20)を見つけるにはまだほど遠い.私たちの将来の専門家は、さまざまな特定の問題を合理的に解決できる唯一の汎用コンピューターを持っています。


私たちの責任は、コンピューターが(すでに2020年に)はるかに効率的に解決するおもちゃのソリューションではなく、実際の問題でこれらの脳を養い、刺激することです.


逆説的に言えば、マシンの低レベルの最適化を実行するよう依頼して頭脳を浪費することは、最も高価なリソースを最適化するための最悪の方法です。


歴史的に、私たちは非常に具体的で理論的なツールの開発に特権を与えてきました。これは科学では非常に一般的であり、望ましいことです。なぜなら、理論的進歩は通常、具体的な実装と使用に数十年先行するからです。


しかし、ソフトウェア開発においては、学界よりも先に民間部門で発見や知見が得られることがほとんどです。私たちの専門家は、偶然のトレンディな技術や言語よりも方法論や概念について訓練を受ける必要があります。これは、5 年または 10 年のファッション サイクルを満たしたときに、「ツールの専門家である実装者」にそれらを破棄することを望む市場間の緊張を生み出します。


私たちの専門家は、使い捨てまたはリサイクル可能であってはなりません。医学、物理学、バイオテクノロジーなどの他の専門職と同じように、私たちは彼らに技術を訓練し、彼ら自身を常に最新の状態に保つ必要があります。

私たちは何を教える必要がありますか?

構築やチームワークなどの「ソフト」スキルに加えて (ソフトウェアは集合的な活動から生じるため) (17)、高レベルのソリューションを検証するための設計およびプロトタイピング テクニックを教えなければなりません。


ソフトウェアに関しては、私たちのモデルの振る舞いに焦点を当て、今日私たちが使用するほとんどのアルゴリズムの歴史的な著者である Donald Knuth (21) を言い換えて、ゲームをプレイしたいので時期尚早の最適化を避けて、ソリューションの設計を教えることが不可欠です。機械が私たちよりもはるかに支配的であること。

チャンス

才能のトレーニングは、アルゼンチンなど、学問レベルの高い国ならどこでも利用できるオプションです。


優秀なソフトウェア エンジニアのトレーニングに投資することは、戦略的決定であり、エストニア、アイルランド、イスラエル、インドなど、他の多くの国ですでに利用されている離陸の機会です。サドスキー財団は現在、この方向に取り組んでいます。 (22)


アルゼンチンには、優秀な教師、優れた英語力、アメリカやヨーロッパと対話するための最高のタイムゾーン、先進国と互換性のある文化があります。情報技術を優先し、その中で、機械化されたプログラマーや低レベルのオプティマイザーではなく、知的で宣言的なエンジニアを訓練する必要があります。

エンジニアに何を教えるべきか?

私たちの専門家は、プログラミング、アルゴリズム、複雑さ、およびデータベースに関する基本的な知識を持っている必要があります。


何よりも、テスト駆動開発などのアジャイル手法を使用して、自動化されたテストを使用して、継続的インテグレーションおよび継続的展開モデルに基づいて設計を行う方法を学ばなければなりません。 (23)


作成されるソフトウェアは、宣言型であり、目的の動作に基づいている必要があります (自動機能テストで指定されている必要があります)。データ型とファイルと文字列の操作に基づいて、60 年代と 70 年代の支配的なパラダイムで考えるのをやめて、問題を解決するために表現したい現実世界のあらゆる側面のシミュレーションに伴う高レベルのモデルに焦点を当てる必要があります。特定の問題。 (24)


行動に基づくデザインの技術は、ファッションの偶発的な技術にとらわれず、30 年前にこれらの概念で訓練されたエンジニアは、今日でも具体的な開発を行うことができます。


残念ながら、そのような状況は、実際には役に立たず、労働市場で良い選択肢を見つけられないファッショナブルな言語を支配するプログラマーによって再現されることはありません.パラドックスは、完全雇用の取引は、適応できなかったためにこれらの専門家を捨てるということです. (25)


現在、この変更はさらに目まぐるしいものです。私たちが知的で幅広い知識を持ち、適切な訓練を受けていない限り、テクノロジーの寿命ははるかに短く、陳腐化はつきものです。

今後の課題

感想記事です。現在の論文をサポートするための今後の作業として、従業員の離職率(25)、年齢別の各仕事の平均時間、完了した研究などの数値を含む定量的な調査を実施する必要があります。

これを行うには、学際的なアプローチの下で社会科学に関連する手法を使用する必要があります。

結論

未来はすでに訪れています。プログラマーの仕事が 5 年後または 10 年後にどのようなものになるかについては、あまりわかりませんが、データ構造に基づいてアルゴリズムを作成することとは関係がないという強い兆候があります。私たちは、現実の問題をすばやく理解し、非常に小さな概念上の飛躍でシミュレーターを構築する方法を知っている専門家を訓練して、今日解決している問題とともに進化できるようにする必要があります。

謝辞

この記事のアイデアの一部は、ブエノスアイレス大学の精密科学学部のコンピューター サイエンス学位のソフトウェア エンジニアリング コースでの教育活動から生まれました。

  1. ゴーラン
  2. 宣言型プログラミング
  3. レガシーコード
  4. 時代遅れのプログラマー
  5. 特効薬なし
  6. おしゃれな言語
  7. 特効薬はない
  8. ディープコーダー
  9. 拡張コーディング
  10. 仮想マシンの処理
  11. 廃止されたライブラリアン
  12. アルゼンチンにおける仕事の未来
  13. チューリングマシン
  14. ムーアの法則
  15. マルサス成長モデル
  16. ビジネスソフトウェア
  17. 理論構築
  18. チューリング賞
  19. 継承されたソフトウェア
  20. 一般的な AI
  21. Knuth - コンピューティング プログラミングの技術
  22. サドスキー財団
  23. テスト駆動開発
  24. オブジェクト思考
  25. 死んだ言語
  26. プログラマーの離職率

翻訳は正確で美しい。


Grammarly と Hemmingway アプリで確認したところ、文法上の誤りがいくつか見つかりました。


例として:

Trabajo Futuro (将来の仕事のためのスペイン語)

Este es un artículo de opinión. Como trabajo futuro para apoyar la presente tesis deberíamos realizar un trabajo cuantitativo incluyendo cifras de rotación de empleados (25), tiempo promedio en cada trabajo según la edad y los estudios realizados etc. Para ello debemos utilizar técnicas relacionadas a las bajo un sociales ciencias学際的。



GPT-3 では次のように変換されます。


感想記事です。現在の論文をサポートするための今後の作業として、従業員の離職率 (25)、年齢別の各ジョブの平均時間、実施された研究などの数値を含む定量的研究を実施する必要があります。これを行うには、社会科学に関連する手法を使用する必要があります。学際的な視点から。



Google 翻訳では次の結果が得られます。


これからの仕事

感想記事です。この論文をサポートするための今後の作業として、従業員の離職率 (25)、年齢別の各仕事の平均時間、実施された研究などを含む定量的な作業を行う必要があります。学際的なアプローチ。

モデルのキャリブレーション

温度 0 (ランダム性) および最大長 2000 トークンの text-davinci-002モデルを使用しました

GPT-3 の意見

この記事についてどう思いますか。


この記事は、プログラミングの未来と、変化に適応できるプログラマーの必要性について、いくつかの有効なポイントを示していると思います。業界がより自動化されたソリューションに向かっていること、そしてこれが最終的にプログラマーの必要性の減少につながることに同意します。しかし、複雑な問題を理解して解決できるプログラマーは常に必要だと思います。


😱(また怖い!!)

メタ結論

私は間違いなく、GPT-3 を使用して技術記事を書き続け、それらを改善します。