ALH84001

私的コラム&雑記(&メモ)

漫画書評『圕の大魔術師』

2019-12-29 | 漫画書評

「どうかわかってください
 何のために図書館を造るのかを
 何のために本を守り 何のために本を届けるのかを
 司書達は信じているのです
 図書館の本を読み 図書館の本で育まれた子供の中から必ず
 この世界の未来を変える英雄が現れるのだと」
ーー『圕の大魔術師』

「書 それは知の結晶であり 思想を持った記号の集積であり 過去と未来を繋ぐ遺産」

 「書」とは何であろうか?
 私は欧州を放浪するITエンジニアであるが、そんな私には「書物」は叡智の象徴のように思えるのだ。

 例えば日本は先進国であるが、外国を旅してみると先進諸国は例外なく長い歴史を脈々と受け継いできたということに気付かされる。米国や豪州などは表向きの歴史は短いものの背後にある国=英国などから人材や技術を受け継いでいる。逆に、多くの発展途上国はたとえ豊富な資源に恵まれていようとも発展し損ねてきており、先進国の牙城を崩した例は極めて稀(イスラエル・大韓民国ぐらいのもの)である。
 この理由は明らかであろう。例えば、仮に鉄鉱石が埋蔵されたとしても、それで自動車を造るには数え切れないほどの技術的なハードルがある。鉄鉱石からガソリンの爆発に耐えるエンジンの製造方法を得るまでのハードルは一朝一夕には確立できず、何十・何百年にも渡って知識を積み重ねることでのみ獲得できる。
 もちろん、そのような知識は書物によってのみ受け継がれるような単純なものではないが、書物やそれを収めた図書館は、その国民・民族にとっての「知識」「知恵」の位置づけに思えるのだ。

「本を片手に冒険に出るのは最新の娯楽の一つ」

 現実世界の歴史を基に本作の世界観を想像してみたい。
 本書の世界は現代世界とは異なるファンタジー世界のため、必ずしも現代の尺度が当て嵌まるとは限らないが、作者は概ね現実世界に倣っているように見えるので、参考にはなろう。

 第三話にて司書=セドナが幼少時代の主人公=シオに、冒頭の「本を片手に冒険に出るのは最新の娯楽の一つ」と言っているが、現実社会で旅行記がブームになったのは18世紀、文化様式としてはロココの時代である。
 現実世界の場合、15世紀にグーテンベルグが活版印刷の実用化に成功したが、当初出版されたのは聖書であった。それが、16~17世紀にはヴェネチアやオランダなどの海港都市で商業化に成功する。これには重大な意味がある。手稿(マニュスクリプト)は庶民の家の一軒分ほどの値段になったが、活版印刷で商業化されると価格は数百分の一にまで下がり、商人らが手にするようになった。学校教育が始まり庶民が読み書きできるようになるのは19世紀以降なので、18世紀時点では上流〜中流階級までとはいえ、旅行記を含め娯楽小説が普及したのはそのような背景がある。

 現実世界の18世紀時点では確かに市民は力をつけてきているが、産業革命(19世紀半ば)よりは前で、機械化も進んでおらず、封建制度的な身分が色濃く残る社会である。

 本作の世界でも機械化は進んでおらず、概ね現実世界との時系列とは矛盾が無さそうだ。
 街に図書館が設立されている一方で、学校に通えない貧民が描かれていることから、これも現実世界の18世紀に近いと想像するが、言い換えれば出版数も読者数も限定的ということである。例えば書籍一冊を考えても恐らく現代日本の物価で300〜1500円前後などではなく数万円すると考えた方がよかろう。取り扱いに注意する場面が見られるのも当然であろう。

 商人が登場し経済的な豊かさも描かれるにも拘わらず、学ができる人々が目指すのが学者と司書という点が興味深い。現実世界で18~19世紀に力をつけたのは商人だからである。恐らく、封建制度的な血統的な身分制度が残っていて庶民が政治的権力を持つことはできないが、学者・司書・魔術師などは庶民がなれる職業としては社会的身分が高いという設定なのだろう。

「書を守ること それ即ち世界を守ること也」

 現実世界の出版の歴史を踏まえて本作だけを見たとき、ある程度は現実世界の歴史的な経緯を踏襲しているように見える。そんな中で異質なのが司書の扱いである。

 司書という職業の中に客を案内する案内室や傷んだ古書を復旧する修復室や外部と折衝する渉外室といった部門があるのは解るとして、本作に登場する「守護室」などという戦闘部隊まで組織されているのは、私達の知る「図書館」とはおよそかけ離れていると言える。

 しかし、本作で書物が世界に与えうる影響を比較すると戦闘部隊まで組織されるのは当然なのかもしれない。
 例えば、現実世界で知識を物理的な力に変える方法は簡単ではない。もしかすると、例えば銃の仕組を解説する書籍は見つかるかもしれないが、実際に銃を作るには幾つものハードルがあり容易ではない。これに対し、本作のような魔術が使える世界では知識をそのまま魔術という形で力に変換できる可能性がある。もし魔術書に書かれている内容を読んで魔術を習得できるなら、書物=兵器と言っても過言ではなく、書籍が世界に与える影響は直接的だ。

 ただ、仮に魔術書≒兵器と考えた場合に、この世界の「男は学者 女は司書」という区切りが妥当なのか疑問にも思う。もちろん職業による男女差別は私の望むところではないし、本書のような魔術が使える世界で男が女より強いという図式が当て嵌まるか謎だが、書物の出版権まで握る図書館は言い換えれば兵器工場のようなものである(といっても魔術書が出版されるような設定にはなっていそうにないが)。そんな場所で、戦闘部隊まで司書がやるのは現実的なのかどうか。実際、主人公=シオが受験した司書試験の中に体力測定のような内容が含まれていないのは不可解である。

「格好をつけて生きていくのは大変なんだ」

 ところで、本書では印象的な言葉が数多く登場するが、その多くは主人公が幼少期に出会う大図書館の守護室の司書=セドナの発言であろう。ネットスラングでいうところの「厨二病」的なキザな言動が目立つ。

 だが、ふと思うのだ。いわゆる「厨二病」が格好悪いのは実態が体面に見合っていないからだと。
 私は厨二病という表現を「中学二年頃の少年好みのキザな言動を引き摺っている精神病」という意味で理解しているが、二通り考えられると思っている。「大人にもなってガキみたいなことをやっている、精神的に幼稚な人」という一般的なネガティブな意味と、稀にある「大人になっても少年時代の考えを貫ける強い人」という意味である。

 本作中のセドナは、ある意味で後者のような人物として描かれている思うのだ。
 作中のセドナは登場当初(17歳。恐らく司書になって3~4年目)でも同僚から「こいつはこういう病気なんです」などと言われつつも「やるときはやる奴」と言われ、主人公=シオが司書になる僅か7年後には守護室の室長にまで上り詰めている人物である。

 ただし、見方をかえれば24歳のトップというのには不安を覚える。それほどの乱世なのかと。
 現実世界を考えると、組織に入った若手が出世するコースは様々ではあるが、平和で安定した社会では年功序列的なものである。成果を出せば多少は早く出世できるかもしれないが、複数年に渡って安定して実績を残し続けなければ出世できず、昇級するのも一階級ずつで、数年でトップになることはまずない。若手が急激に昇進するのは乱世だけである。実績を、それも実力の上下が明確に見える形で残す機会が多く、その能力に対して喉から手が出るほどの需要があるために、引き立てられるからである。
 もちろん、現実の組織と作中の組織とでは昇級の制度がことなるかもしれないが、24歳をトップにするというのには意図を感じずにはいられない。

「我々は正義ではない」

 図書館に不釣り合いで、24歳が室長を務める「守護室」。
 間違いなく今後の物語はこの守護室を舞台に展開されるのであろうが、第25話まで読んでみて、私は不安になった。

 「我々は正義ではない」という台詞は圕総代のものであり「一つの側面では私達は書を独占する悪だ」「私達は書の守護者であると同時に、書の支配者である事実を忘れてはならない」というわけだが、これこそが物語の先行きを示しているように思える。つまり、正義とはいえない「正義」と悪とはいえない「悪」とが衝突する構図である(現実世界で喩えれば宗教戦争のような)。

 第3話で主人公=シオが司書=セドナから借りた本の内容について第25話まで記されていないが、その内容が「世界を滅ぼす力がある」にも関わらず、第3話でセドナは「私が司書を目指したきっかけ」と言っているのである。それだけでなく、シオが本の内容を理解し司書になったことを嬉しいと表現している。本が壮大な計画のきっかけとなりシオがその計画の一部に組み込まれたのではと想像させられる。

 第25話ではシオとセドナの2人を「世界を守る英雄と世界を滅ぼす魔王との再会」と表現するが、ならば先が朧気に予測できる。つまり、セドナには本をきっかけとした「悪」の計画があり、セドナはそれを倒す「正義」を行う人物を必要としていた。それがシオであると。

 

 第25話まで読んでみて、私には本作が50話では終わらず100話ちかくいきそうな気がしている。
 ここまでのところ登場人物はみな魅力的に描かれているが、今後、民族同士による戦争が起こることも示されている。冒頭から流血が激しかった『進撃の巨人』ほどではなかろうが、今後は登場人物が次々と倒れることになるのだろうと思うと憂鬱である。

Comment

今週の興味深かった記事(2019年 第50週)

2019-12-21 | 興味深かった話題

NVIDIA Orin

NVIDIA Details DRIVE AGX Orin: A Herculean Arm Automotive SoC For 2022 - AnandTech

 NVIDIAの自動運転向け車載SoCのロードマップが更新され現行のXavierの後継としてOrinが発表された。いろいろと興味深い点はあるが、まずCPUコアがNVIDIA独自のCarmelからArm純正のHeruclesに変更になるほか、ディープラーニングでINT8の演算性能が30 TOPSから200 TOPSに跳ね上がることに注目したい。

 CPUコアの切り替えについては、過去にもTegra K1で独自コアDenverを採用後にTegra X1でArm純正コアCortex-A57に切り替え、さらにTegra X2で独自コアに戻した経緯があるため、NVIDIAが独自コアを放棄したのかは判らない。ただ、XavierのCarmelコアはCortex-A76コアに比してコアのサイズ(≒半導体コスト)は倍程度ながら性能は同等ということがあったし、またArmはCortex-A76でパフォーマンスを向上させる路線に変更しており、パフォーマンスという点から高いコストをかけて独自コアを作り込む必要性は薄れている。実際、独自CPUコアを開発していたSamsungは今年末で開発を終了するとされている。さらに、ArmはCortex-A76AEやCortex-A65AEで車載向けセーフティ機能(例えばLock Stepは複数コアで同一処理を実行して結果を突合することでソフトエラーを回避する仕組み)を盛り込んでいたりするから、Arm純正コアに切り替えるメリットは少なくない。
# もしArm純正コアが半分の半導体コストだとすると、同じ半導体バジェットで倍のコアを搭載できる
# Xavierで8コア・Orinで12コアだと、仮に同じ製造プロセスでも後者の方が低コストで、さらに
# 余った4コア分の半導体バジェットで他の機能を搭載できる。

 ディープラーニングでのINT8演算性能については、恐らく推論専用の演算ユニットが追加されている。
 Xavierは2018年の発表でOrinは来年以降(※「2022年の自動車に搭載される」とのことなので遅くとも2021年中)の製品だからPC用のGPUでいうと数世代飛ばしていることになるので大きな性能向上には驚かないが、とはいえ66倍という性能向上はGPU以外の仕掛が必要になる。
 過去にもNVIDIAはGPU内蔵のTensorCoreや、独立したアクセラレータDLAなどをXavierに搭載してディープラーニング性能を向上させてきたが、それでも汎用的なGPU+CUDAで処理する方針だったように見える。その結果、Tesla MotorsのFSDようなディープラーニング専用プロセッサー(73.73 TOPS)と比較すると性能で見劣りする結果となってしまった。
 そもそも車載・自動運転では純粋なグラフィックプロセッサーとしてのGPUへの要求性能は低いため、無理に汎用的なGPUで処理する必要性は薄く、むしろ処理内容や要求性能がある程度決まっているなら(例:画像処理・画像認識・センサーフュージョン・進路制御・速度制御など)固定機能のアクセラレーター(例:イメージプロセッサーなど)を充実させた方が効果的だ。Xavierでもディープラーニング専用のDLA(Deep Learning Accelerator)や画像処理用のPVA(Programmable Vision Accelerator)を搭載してきたが、恐らくそちらの比重がOrinではXavierよりも増えることになるだろう。

IntelがHabana Labsを買収

Intel Acquires Habana Labs For $2 Billion - Forbes

 IntelによるHabana買収はEETimesが12月7日に「?」付きで報じていたが、Intelは既にNervanaを持っていることを考えると先が気になるところ。Nervanaの買収は$408Mで、Habanaの買収における$2Bはまさに桁違いである。

 Nervanaの場合、学習用NNP-T1000と推論用NNP-I1000はアーキテクチャが別物で、前者はNervanaの設計ながら後者はIntelの色が濃かった。学習用と推論用のアーキテクチャが同じ必要はないかもしれないが、外から見ていて健全そうには見えない。
 学習と推論とでは、一般に学習の方がデータ精度が高く(FP64 vs INT8)、従って学習データや学習済データのサイズも変わってくる(同じデータ量だと単純に8倍)ため、一般的には推論専用ハードウェアは学習・推論用ハードウェアの機能削減版のような格好をしていることが多い。代わりに、推論は学習と違いリアルタイム性が求められることが多いため多数のプロセッサーを並列に並べたりすることがある。
 Habanaは学習用Goyaと推論用Gaudiとではアーキテクチャは似通っている

 Intelのディープラーニング事業は、データセンター用Nervanaの他に自動運転用MobilEyeとエッジでのビジョンコンピューティング用Movidiusを買収で取得しているが、Habanaも含めNervana(米カリフォルニア)以外はいずれもイスラエルの会社である。こうなるとIntelはニューラルネットワーク処理用のプロセッサーを作る部隊をイスラエルに集中しようとしているようにも思える。データセンターでもエッジでも車載でも推論は必要で、Habana・MobilEye・Movidiusでのアーキテクチャーの統一もありえるのかもしれない。

Comment

先週の興味深かった記事(2019年 第49週)

2019-12-21 | 興味深かった話題

理研/富士通「富岳」の性能

Fugaku Remakes Exascale Computing In Its Own Image - Next Platform

 日本の次期フラッグシップHPC「富岳」の性能についてNext Platformが報じている。
 Next Platformは富岳がExa Flopsに達しないと報じているように読めるが、そもそも米エネルギー省のAuroraも含め最初の自称「Exascale」コンピューターはそのパフォーマンスを出す演算精度が曖昧になってきている。
 Peta Flops時代は科学演算で重要とされる倍精度(FP64)演算性能が基準だったが、現在は半導体スケーリングの鈍化に加えFP16やINT8が主流のニューラルプロセッシングの興隆もあって基準が曖昧になってきており、日米とも「Exascale」の定義は「処理性能がFP64で1 Exa Flops以上」というよりは「処理性能が前世代スーパーコンピューターのN倍以上」だったり「FP16性能が1 Exa Flops以上」といったような定義になっている。

 例えばFP64が基準だった「京」などニューラルプロセッシング流行以前のコンピューターではFP64が高速(FP64とFP32の演算性能が等速か1/2倍速程度)に演算できることが求められた。実際、記事中にある通り「京」ではFP64・FP32とも11.3 Peta Flopsだった。それが「富岳」ではFP32はFP64の2倍速・FP16はFP64の4倍速で演算可能となりFP64では400 Peta Flops(「京」の約34倍)ながらFP16で1.6 Exa Flopsを達成している。

 加えて、この「Exa Flops」の基準として用いられるHigh Performance Linpack(HPL)と実アプリケーションの乖離が指摘されており、「富岳」もHPL基準でのExa Flopsを狙っていないとされる。この辺はHisa Ando氏のマイナビの記事「Top500 1位を目指さない「富岳」」が詳しい。

Centaur「CNS」

Centaur Unveils Its New Server-Class x86 Core: CNS - WikiChip Fuse

 先日の記事で背景を説明したが、新しいCNSコアはコード名から2008年に発表されたIsaiah(CNA)の発展型であることが分かる。ただし、途中世代のCNB~CNRと約10年間も内部構成が説明されてこなかったこともありCNSコアの拡張は非常に大きく見える。

  Isaiah / CNA CNS Zen Zen 2
Decode (OPs/cycle) 3 4 4 4
Issue (OPs/cycle) 3 4 6 6
Reorder Buffer 76 ? 192 192 224
ALU (Simple) 2 2 4 4
ALU (Complex) 1 2
FPU / SIMD 2 3 4 4
Branch 1 (shared) 1 (shared) 2 (shared) 2 (shared)
Load 2 2 2 2
Store Address 1 1
Store Data 1 1 1
Load Buffer 16 ? 72 72 72
Store Buffer 16 ? 44 44 48

ちなみにFPUであるが、CNS・Zen 2はAVX-2で256-bitを1 cycle(DP精度で16 FLOPS/cycle)で実行するのに対しZenでは2 cycle(DP精度で8 FLOPS/cycle)であるから、CNSとZenでは演算ユニットの数の違いと実パフォーマンスは逆転することになる。
 まだ詳細が不明な部分はあるとはいえブロック図で見る限りではCNSでは大幅に拡張されRyzen 1000(Zen)シリーズに近いクラスの構成となっているといえ、「Server Class」が謳われることも頷ける。

 ただ、やはり先日も述べた通りCPUコア数(8コア)もNPU性能(20 TOPS)も単体でサーバー用としてはイマイチなのでMCM構成かマルチプロセッサー構成に期待したいところである。もし第一世代ZenのEpycのように4チップのMCMが実現できれば(※仮定)32 コア・80 TOPとなり実用的と思えるのだが。

Comment

先々週の興味深かった記事(2019年 第48週)

2019-12-21 | 興味深かった話題

AWSの第二世代「Graviton」

AWS gives Servers a Real Shot in the Arm - Next Platform
AWS EC2 6th Gen Arm Instances are 7x Faster thanks to Graviton 2 - CNX-Software

 初代Gravitonを使ったインスタンスはA1という特殊なインスタンス名だったが、第二世代Gravitonでは-g suffixがついたM6g、R6g、C6gといった普通のインスタンス名になるようだ。これは冒頭のM- R-といったprefixが用途を表し、プロセッサーの違いはsuffixで表していたことを考えれば妥当であろう(例:AMD Epyc搭載インスタンスのsuffixは「-a」である)。

 想像するに、当初AWSはA1で使われた初代Gravitonをインスタンスとして展開する予定が無かったのではないか。最大16コアという規模を鑑みれば、AWSが内部で使うネットワークアプライアンスやストレージアプライアンスあるいはスマートNICとして使うには適当な規模で、例えばENAに競合するMellnox BluefieldやBroadcom Stinglyの構成はGravitonと酷似しているが、サーバーのCPUとして使うには最大16コアでは中途半端過ぎる。

 もっとも、これはAWS/Annapurna Labsの問題というよりはArm純正IPのスケーラビリティーの問題でもある。初代Gravitonで採用されたCortex-A72の時点ではサーバーレベルでのスケーラビリティが考慮されていなかった。これに対しNeoverse N1/Cortex-A76世代ではArmの発表時の資料でも2 core/cluster x 32 clusterをメッシュで接続した64コア構成が具体例に挙がっている通り、インターコネクトも含めてスケーラブルになっており多コアで展開しやすくなった。

 気になるのは記事中にある「Custom Neroverse N1」という表現である。Neoverse N1はArmのサーバープラットフォームのブランドで、CPUコア単体で見ればCortex-A76とほぼ同じ(リビジョン違い)である。Gravitonについては「AWSがCPUを作った!」などと言われることがあるが、実際にはAWS傘下のAnnapurna LabsはCPU等のIPをSoCに構成するベンダーであってCPU開発能力はない。ただし、QualcommがSnapdragonで行っているようにArm設計のコアに若干のカスタマイズを加えている可能性はある。

NEC SX-Auroraロードマップ

NEC Refreshes SX-AURORA Vector Engine, Outlines Roadmap - WikiChip Fuse

 NECがベクトルプロセッサーのロードマップを更新したそうだ。
 別のニュースではドイツ気象庁から受注したという話もあるが、正直なところこのビジネスは上手く行っているのだろうか?

 ロードマップによると2年毎にVE10・VE20・VE30と更新していくようであるが、メモリー帯域の向上・プロセッサーコアの追加・高い動作周波数と書いてあるだけで情報量はほぼ皆無である。GPUもそうだが、メモリー帯域やクロスバーなどの帯域は調整する必要があるとはいえ、乱暴に言えば同一設計のベクトルプロセッサーを並列動作させるのでスケールさせやすい。そのため前述のメモリー帯域の向上・プロセッサーコアの追加・高い動作周波数というのはある意味で当たり前である。

 気になるのはSKUの多さだろう。ある程度は受注生産と思われ、どの程度在庫を抱えているのか分からないためSKU=Stock Keeping Unitという表現が妥当か怪しいがPCIe x16接続のベクトル演算ユニットで6品種・サーバーの構成で5品種が存在するというのは多過ぎないか。例えばベクトル演算ユニット1機のみの1Uサーバーは存在意義が不明だし、ベクトル演算ユニットも液冷・アクティブ空冷・パッシブ空冷の3品種は知っていたが、いつの間にかメモリー帯域が微増したType 10Eなるモデルが追加され6品種に増えたようだ。

Intelが6年前の「Haswell」を復活させる?

Intel Resuscitates 22nm Haswell Pentium Processor - Tom's Hardware

 個人的には非常に疑問だ。
 まず、そもそもの話として7年前のCPUは生産数は減らされ消費者市場に出回っていないが製造は継続されている。組込オプションがあるSKUでは10年間程度の供給保証があるし、また中国などの新興国では低価格製品向けに旧製品が出荷されて続けているためだ。だから仮に7年越しでSKUが復活したとしても、それは製造ラインを再構築したわけではなく既存製品の出荷先の変更やリブランディングでしかない。

 つまり、7年前の製品を復活させることは難しくはない。しかし、現実的かといわれれば疑問だ。
 例えば、2018年初頭に問題となったSpectre/Meltdown脆弱性の影響を受けるプロセッサーを復活させるか?という点である。組込では7年前の製品であることは問題とならないが、消費者向けでは問題となるからである。
 組込は考え方が特殊で、現行モデルで脆弱性が見つかった場合でも多くの場合で将来製造されるロットでも完全に同じ仕様(脆弱性も含めて挙動が同じ)であることが求められる。組込では脆弱性対策も組込製品固有の仕様(ハードウェア・ソフトウェア・使い方・エンドユーザー)に特化して対策され、内部の動作はエンドユーザーから見てブラックボックスなので、製品のロットの違いで仕様/挙動が違う方が問題だ。Meltdown/Spectreを例に取ると、システム内からWebブラウザーでも使わない限りは遠隔でexploitできないから、組込機器ではそもそも対策不要という場合も考えられる。もちろん組込でも長年に渡って製造・出荷される中で構成部材が変更となることはあるが、初期に出荷された製品と後期に出荷された製品とで変更点が制御されている必要がある。
 これ対し、消費者向けの市場では汎用OSなどだからメーカー側が影響を制御できず、Windowsの月例パッチのようにメーカーが対策を施す必要がある。

 もっとも、Comet Lakeなど現行製品を製造している14nm工場を空けるという意味では効果的だ。Intelは11月20日にも14nmプロセス製品の供給不足を謝罪したところで、Intelは10nmプロセスの躓きで14nmプロセス工場を大増設したと言われているが、2年ほど前から14nm製品の供給不足が続いてきた。7年前・22nmプロセスのHaswellであれば製造余力があるはずで復活させることには意義があるかもしれない。

Comment