はてなキーワード: コンピュータサイエンスとは
画像を離散コサイン変換で、とか、仮想メモリ使いつつもキャッシュヒット率をいかに上げるかとか、そういうのから機械学習って遠い。
メモリの局所性なんぞないからキャッシュなんてメモリアクセスのレイテンシ隠蔽くらいにしかなってないし、
メモリは帯域はあればあるだけ、容量もあればあるだけ、
Flash AttentionでようやくDRAMへのアクセス減らそうとかあるけど、コンピュータの構成無視、
いかに長い文脈を認識させられるかになってデータの局所性なんてなくなって、どれだけ複雑な計算とデータ量を食わせるかになっている。
今までのHPCも同じでコンピュータサイエンスだと言われれば、そうなんだが
GPU使ってながらも、グラフィックスパイプラインみたいなのを、AIのレイヤー層ごとに作れているわけでもないし。
21世紀型スキルは、現代の急速な技術革新、グローバル化、情報化社会において、個人が効果的に機能し、成功するために必要なスキルセットです。
これらのスキルは、教育学、心理学、経済学などの分野で研究されており、以下のように分類されます。
これらのスキルは、OECDの「未来の教育とスキル」プロジェクトやユネスコの「持続可能な開発のための教育」においても強調されています。
21世紀型スキルは、単なる知識の習得を超え、実践的な応用力や社会貢献を可能にする能力として、教育改革や企業の人材育成において重要視されています。
何が含まれるかといえば、数学、論理学、統計学、言語学あたりがメジャー。
更に最近だとコンピュータサイエンス、即ち計算機科学も含まれると。
というかこの計算機科学、なんで「科学」にカテゴライズされるのかずーっと疑問だった。
まあ人文科学でも社会科学でもないのは明らかなので、科学に含めるなら消去法で自然科学なんだろうけど、でも物理や化学の法則が効いてくる世界ではない。
むしろ自然界の制約が一切及ばない何でもありな世界とか、それもう科学でもなんでもねーじゃんと思ってたんだわ。
でも違った。科学にはもう一つ形式科学というものがあったなんて、今の今まで全く知らなかったよ。
一応、プログラミングで数字や論理記号はそれなりに使う機会があるので、まあ応用数学的な何か?とは思ってたけど、そうすると数学は自然科学に含まれるんだっけ?という別の疑問が湧いてきたり。
なんか、システム開発というかソフトウェアの開発がハードと同じようにはうまく行かないとか話題になってるけど、形式科学という言葉を知ってしまうと、そりゃそうだろって思うわ。
メカやエレキ含むハードは自然科学中心の世界なのに対し、ソフトは完全に形式科学中心。その時点で畑が違いすぎ。
まあ物理とかは数学をツールとして使うどころか「理論物理学」「数理物理学」なんて分野もあるから、クロスオーバーしてる部分があるのは認める。
でもCSに限って言えば自然科学にかすっている部分を探すほうが多分難しそう。
いつの間にかコンピュータサイエンス関係ない経営者の話になってて草
コンピュータサイエンスが何の役に立つのかわかってない という命題に対して金を稼ぐのに関係ないとしか言ってない特定の増田さんは何が見えてるんですかね
俺がいってんのはね、アルゴリズムもデータ構造もOOPも「プログラミング」の知識の範疇であり、普通に誰でも知ってる範囲ってことだ
それに「ネットワーク」もAWSの知識の範疇であり、誰もが理解している
コンピュータサイエンスってのは、TSPをどう解くかとか、そういうどーでもいい知識の集合体
なぜならコンピュータサイエンスの大半の知識は金稼ぎに役立たないからでーす👍
では見せてもらおうか、貴様の言うコンピュータサイエンスとやらを
コンピュートへの大規模な投資が注目される一方で、アルゴリズムの進歩も同様に重要な進歩の原動力であると思われる(そして、これまで劇的に過小評価されてきた)。
アルゴリズムの進歩がどれほど大きな意味を持つかを理解するために、MATHベンチマーク(高校生の競技用数学)において、わずか2年間で~50%の精度を達成するために必要な価格が下がったことを示す次の図を考えてみてください。(比較のために、数学が特に好きではないコンピュータサイエンスの博士課程の学生が40%のスコアを出したので、これはすでにかなり良いことです)。推論効率は2年足らずで3OOMs-1,000倍近く向上した。
https://situational-awareness.ai/wp-content/uploads/2024/06/math_inference_cost-1024x819.png
これは推論効率だけの数字だが(公開データから推論するのが難しいトレーニング効率の向上と一致するかどうかはわからない)、アルゴリズムの進歩は非常に大きく、また実際に起こっている。
この記事では、アルゴリズムの進歩を2種類に分けて説明します。まず、「パラダイム内」でのアルゴリズムの改良を取り上げることにしま す。例えば、より優れたアルゴリズムによって、同じパフォーマンスを達成しながら、トレーニングの計算量を10倍減らすことができるかもしれません。その結果、有効計算量は10倍(1OOM)になります。(後ほど「アンホブリング」を取り上げますが、これはベースモデルの能力を解き放つ「パラダイム拡張/アプリケーション拡張」的なアルゴリズムの進歩と考えることができます)。
一歩下がって長期的な傾向を見ると、私たちはかなり一貫した割合で新しいアルゴリズムの改良を発見しているようです。しかし、長期的なトレンドラインは予測可能であり、グラフ上の直線である。トレンドラインを信じよう。
アルゴリズム研究がほとんど公開されており、10年前にさかのぼるデータがある)ImageNetでは、2012年から2021年までの9年間で、計算効率が一貫して約0.5OOM/年向上しています。
アルゴリズムの進歩を測定することができます。同じ性能のモデルを訓練するために必要な計算量は、2012年と比較して2021年にはどれくらい少なくなっているのでしょうか?その結果、アルゴリズムの効率は年間0.5 OOMs/年程度向上していることがわかります。出典Erdil and Besiroglu 2022.
これは非常に大きなことです。つまり、4年後には、~100倍少ない計算量で同じ性能を達成できるということです(同時に、同じ計算量ではるかに高い性能も達成できます!)。
残念ながら、研究室はこれに関する内部データを公表していないため、過去4年間のフロンティアLLMのアルゴリズムの進歩を測定することは難しい。EpochAIは、言語モデリングに関するImageNetの結果を再現した新しい研究を行っており、2012年から2023年までのLLMのアルゴリズム効率のトレンドは、同様に~0.5OOM/年であると推定しています。(しかし、これはエラーバーが広く、また、主要なラボがアルゴリズム効率の公表を停止しているため、最近の上昇を捕捉していません)。
https://situational-awareness.ai/wp-content/uploads/2024/06/llm_efficiency_epoch-1-1024x711.png
Epoch AIによる言語モデリングにおけるアルゴリズム効率の推定。この試算によると、私たちは8年間で~4OOMの効率向上を達成したことになります。
より直接的に過去4年間を見ると、GPT-2からGPT-3は基本的に単純なスケールアップでした(論文によると)が、GPT-3以降、公に知られ、公に干渉可能な多くの利益がありました:
最近リリースされたGemini 1.5 Flashは、"GPT-3.75レベル "とGPT-4レベルの間の性能を提供する一方で、オリジナルのGPT-4よりも85倍/57倍(入力/出力)安い(驚異的な利益!)。
公開されている情報を総合すると、GPT-2からGPT-4へのジャンプには、1-2 OOMのアルゴリズム効率向上が含まれていたことになります。
https://situational-awareness.ai/wp-content/uploads/2024/06/stacked_compute_algos-1024x866.png
GPT-4に続く4年間はこの傾向が続くと予想され、2027年までに平均0.5OOMs/年の計算効率、つまりGPT-4と比較して~2OOMsの向上が見込まれます。計算効率の向上は、低空飛行の果実を摘み取るようになるにつれて難しくなる一方、新たなアルゴリズムの改良を見出すためのAIラボの資金と人材への投資は急速に増加しています。 (少なくとも、公開されている推論コストの効率化は、まったく減速していないようだ)。ハイエンドでは、より根本的な、トランスフォーマーのようなブレークスルーが起こり、さらに大きな利益が得られる可能性さえある。
これらをまとめると、2027年末までには(GPT-4と比較して)1~3OOMのアルゴリズム効率向上が期待できることになります。
続き I.GPT-4からAGIへ:OOMを数える(6) https://anond.hatelabo.jp/20240605205754
はい、JavaScriptによるコーディングはコンピュータサイエンスの一部と見なすことができます。コンピュータサイエンスは、情報とその処理に関する学問であり、プログラミングはその重要な要素です。JavaScriptは、ウェブページを動的にするための主要な言語の1つであり、ウェブ開発の分野で広く使用されています。したがって、JavaScriptを学び、それを使用してコードを書くことは、コンピュータサイエンスの実践的な応用の一部と言えます。しかし、コンピュータサイエンスはプログラミングだけではなく、アルゴリズム、データ構造、ネットワーク、データベース、人工知能など、より広範なトピックをカバーしています。それぞれが特定のプログラミング言語やツールを使用して探求されることがあります。JavaScriptはその一部であり、特定の問題を解決するためのツールとして使用されます。それはコンピュータサイエンスの一部であり、その全体ではありません。それでも、JavaScriptをマスターすることは、コンピュータサイエンスの重要なスキルを習得するための素晴らしいステップです。それはあなたが複雑な問題を解決するためのロジックとアルゴリズムを理解するのを助け、あなたの思考を開発するのを助けます。それはまた、あなたがウェブ開発の世界に足を踏み入れ、あなた自身のウェブサイトやアプリケーションを作成するのを助けます。だから、はい、JavaScriptによるコーディングは確かにコンピュータサイエンスの一部です!