IT系ニュース(2024年12月)
この記事では「データサイエンス系」や「プログラミング系」などの分野について、最近のニュースや気になったことなどをご紹介します。
ベルーフでは就労移行支援事業として、IT系分野の基本的なスキルが身に付く研修を提供しています。他にもビジネス系、セルフコントロール系の研修も体系的に提供しております。研修方針などをご紹介していますのでぜひご覧ください。
データサイエンス系の話題
今回はAIの能力と、AIの向き合い方に関していくつかニュースをご紹介します。
AIの能力は「人間の叡智の1万倍」?
2024年11月に開催された「SoftBank World 2024」という年1回開催される法人向けイベントで、孫正義氏が講演で「10年以内に“人間の叡智の1万倍”の人工知能がやってくる」という内容の講演がありました。
https://logmi.jp/main/technology/331141 (ログミーBusiness)
他にもOpen AI社の言語モデルである「o1」に対する評価
https://logmi.jp/main/technology/331142 (同サイト)
一人一人に「24時間自分専用エージェント」の登場
https://logmi.jp/main/technology/331143 (同サイト)
など、さまざまな話題に触れる内容でした。
どれも夢のある話でワクワクしますが、逆に怖い面もあるのかな、とも思います。
人工知能以前の世界では、人間の能力の範囲でいろいろなものを作っていました。ハードウェアであれソフトウェアであれ、頭で考えてその範囲から生み出されるものでした。不具合があっても原因を突き止めて解決するということも(なんとか)できる世界、と捉えることができると思います。
ところが人工知能が急速に発展してきて、現時点でもかなりの能力に達していますが、今後10年後はもしかしたら孫氏が語るように「人間の叡智を超えた」人工知能が出現する可能性もあるのではないか、とも思ってしまいます。(俗にいうシンギュラリティですね)
そうなると、大きい組織の難しい意思決定など、人工知能に任せる時代になってしまうのでしょうか。
もしかしたら今まで人間が考えもつかなかったようなアイデアで素晴らしい成果が出せるようになるのかもしれませんが、冒頭で述べたように個人的にはちょっと怖い面もあるかな、と思っています。
例えば、現在の証券取引はプログラムによる短期売買が行われているケースが多くあるようです。株価の過剰な値動きも、そのようなプログラム売買による影響があるのでは、と指摘されていることもあります。
同じように、人工知能も知識に関して似たような過剰な動きというのは大丈夫なのかな?とも思います。
例えば、現在の大規模言語モデルは真の推論は困難、という論文があります。
https://www.itmedia.co.jp/news/articles/2410/13/news070.html (ITmedia News)
「現在の大規模言語モデル」という限定付きですので、将来の技術には当てはまらないのかもしれませんが、人工知能には本質的にこのような話が内在するような気もします。
また、真の推論は困難である、という話に結びつきそうな話題もあります。「Copilotで回答される医療アドバイスの約22%が致死的な結果を及ぼす可能性」という内容です。
https://gazlog.jp/entry/copilot-may-cause-harm-to-health/#google_vignette (ギャズログ)
最近の人工知能は想像を超える能力を持ちますが、まだまだ発展途上という面もあると思います。能力だけに着目するのではなく、リスクを十分に評価する必要性もあるのではないか、と思ったニュースでした。
スキル習得
人工知能により我々の生活や仕事のやり方が大きく変わりそうな世の中ですが、依然として個人がスキルを身につけることの重要性は高いと思います。
皆さんはご自身の進みたい業界、仕事に対してどのようにスキル習得を考えていますか?
最近はどの業種、分野でも幅広い知識が求められていますが、IT系に関して、とても参考になるスキルロードマップがありますのでご紹介します。
https://roadmap.sh (開発者向けロードマップ・英語)
このサイトでは、IT系の技術ごと、役割ごとなどさまざまな観点でスキル習得のためのロードマップが示されています。
その中には「AI and Data Scientist」もあります。
https://roadmap.sh/ai-data-scientist (人工知能・データサイエンティストのスキルロードマップ)
チェックリスト形式になっていますので、このようなロードマップを参考にご自身のスキル習得計画を作るのもいいですね。
ところで、スキル習得はネットや書籍で体系的に学ぶこともできますが、わからないことを調べる機会も多いですよね。
情報が溢れる現在では、この「調べる」という能力がとても重要な位置を占めてきているように思います。
このことに関して元国立国会図書館司書の方の記事がありましたのでご紹介します。普段何気なく「調べる」という行為をしていますが、漫然と調べていてはダメだな、と思いました。ぜひ参考にしてみてください。゜
プログラミング系の話題
プログラミング系の話題を3つご紹介します。
2038年問題
最近「2038年問題」がチラホラ取り上げられるようになってきました。2024年時点ではまだまだ先の話ですが、影響が大きいので10年以上前にも関わらず話題にされているんでしようね。
2038年問題の中身はこのあと確認しようと思いますが、今から25年以上前に似たような「2000年問題」があったことをご存知でしょうか?
当時はかなり話題になり、一般のテレビニュースで解説されたり、2000年問題に関する書籍も出版されたり、さらには1999年にこの世が終わるというノストラダムスの大予言の影響で、いろいろな噂が飛び交っていたことを思い出します。
2000年問題とは?
当時のコンピュータシステムは、メモリの節約や処理速度を上げるために、西暦を下二桁で扱っていました。例えば1995年であれば「1995」ではなく「95」でデータを持ち処理をしていました。実際に年号を表示するときは「95」に「1900」足して「1995」にする、などの処理が行われます。
このように下二桁で表現しているため、1999年を表す「99」の次は「00」になるのですが、この「00」は「1900」を足すと「1900」つまり1999年の次は2000年ではなく、1900年になってしいます。
このような処理をしている関係から、2000年1月1日の0時0分にシステムが誤動作するだろう、と予測されていました。
実際にはこの問題が大きく取り上げられていたため、2000年を迎えても大きな問題は発生しませんでした。
(一部のシステムでは誤動作があったようですが、大きな影響はなかったようです)
当時の様子は次の記事をご参照ください。
https://www.qbook.jp/column/1891.html (Qbook)
今回の2038年問題とはどのようなものか、詳しくは次の記事を参考にしていただくとして、概略を簡単にご紹介します。
https://tech.systems-inc.com/column/detail/data-6834/#:~:text=2038年問題とは、UNIXやLinuxなどの,ある問題のことです%E3%80%82
(GENBA x IT)
プログラミングを学習れされている方の多くはWindowsやmacOSを利用されていると思いますが、UNIXやLinuxは利用されたことはありますでしょうか?
UNIXやLinuxではも時間を表現するために32ビットの整数が利用されています。この整数は、1970年1月1日0時0分0秒を「0秒」として、1秒ごとに1加算されていきます。
この日時表記は「エポックタイム」や「UNIXタイムスタンプ」と呼ばれています。Pythonを学習されている方は、datetimeライブラリで、UNIX時間、エポック時間という用語が出てきますのでご存知かもしれませんね。
このエポックタイムですが、32ビットの符号付き整数ですので最大値は 2,147,483,647 になります。1970年1月1日0時0分0秒から数えて 2,147,482,647秒後は 2038年1月19日 3時14分7秒になります。
エポックタイムを符号付き32ビット整数で扱っているシステムは、この日時にオーバーフローが発生して誤動作する、というわけです。
最近のシステムは64ビット整数や別の表現を使っているので問題ありませんが、古いシステムで現在も稼働している場合は早めの準備が必要、というわけでこの段階から話題になっている、というわけです。
ただ、古いシステムは、使われているプログラミング言語やフレームワークによってはエンジニアが不足しているので、より早い対応が求められますね。
また、今後開発するシステムはいつまで使われるかわかりませんので、将来のことまで考えて設計やコーディングが必要です。
ぜひこのようなこともケアできるエンジニアを目指していただければと思います。
周辺スキルを身につけよう!
最初の話題では、UNIXやLinuxの話がでてきました。
プログラミングを習得されている方は、最初はPythonの基礎的な習得がメインというケースが多いと思いますが、慣れてきたらぜひ周辺のスキルも積極的に身につけるように意識すると良いと思います。
Pythonでも先ほどのようにライブラリでUNIX時間やエポックタイムなど、わからないことがあれば調べることにより知識を増やすことができます。このように気になったことは積極的に調べるようにすると良いと思います。
それ以外にもコンピュータサイエンスのリテラシとして身につけておいた方が良い知識はたくさんあります。
先ほどのUNIXやLinuxについては、例えば The Linux Foundation Japanという団体が「Linuxの基礎」というコースを無料で公開しています。
https://training.linuxfoundation.org/ja/training/introduction-to-linux (The Linux Foundation Japan)
このように、現在ご自身で習得されているスキルの中でわからないことが出てきたら、
「意味を調べる」▶︎「元となった技術ベースを調べる」▶︎「入門記事を探す」
などのようなステップで、自分の習得している知識の周辺のスキルを習得していくとオリジナリティが出てくると思います。
プログラミングスキルで稼ぐ!
プログラマを目指されている方は、このような記事もモチベーションにするのもいいかな、と思いましたのでご紹介します。
スマホアプリは無料のものが多いですが、数百円ぐらいで便利なアプリもたくさんありますよね。
次の記事は、iOSアプリをApp Storeで100円で販売したら、ほったらかしで7,000万円もの臨時収入があった、という内容です。
https://logmi.jp/main/management/331149 (ログミーBusiness)
他にも月に250万円稼いだという話題も。
https://note.com/keitaaaan/n/n6b4ff16d9835 (note記事)
さらには個人開発で生計を立てている人も。
https://zenn.dev/uzuprg/articles/8b83ee58fc45bd (zenn記事)
たまたま開発したアプリがヒットした、という例ですが、実は私の周りにも副業でiOSやAndroidのアプリを個人開発して販売してお小遣いを稼いでいる、という人もいます。上の記事にはとても及ばないようですが、ちょっとした収入はあるようです。
このように個人でも稼げるプラットフォーム(エコシステム)はいろいろなところにありますので、夢を描きながらプログラミングを習得するのもいいですね。