2021/11/22

【メモ】石川真一郎さんの講演会

昨晩、麻布学園内イベントで石川真一郎さんの講演会がありまして、それについて思ったことのメモです。

NFTとデジタルコンテンツとの関係。 

コンテンツは多くの人に視聴してもらうことが価値。ただ、一方で違法コピーのように拡散が制作者側に無関係に行われてしまうと、制作を続けられないという負の側面がある。

NFTはその関係性をひっくり返す、という話。コンテンツに対する何らかの権利を発行、販売して、それを発信側にフィードバックする。一方で、コンテンツのコピーは自由に流通する。
その根底にあるのは、「モノに感じる価値は人それぞれ異なる」という視点。貨幣という一つの軸に収るものではない、一物一価ではないという考え方。 

価値を感じる人が、その価値に応じた対価を支払い、制作者を支える。
そこまでは事前にある程度勉強してわかっていたのだけれど、とはいえまだモヤッとすることが残っていて。結局、フリーライドする人ばかりになってしまって、コンテンツ制作は生業にはならないのではないか、と。 

お金を支払うに値しないと思っている人にコンテンツが消費されることはOKなのか。今まで違法サイトでこっそり見ていた人が、堂々とフリーライドするだけじゃないか。
と思っていたけど、実は違っていた。

ここからは私の解釈。
コンテンツのフリーライダーは、実はフリーライダーではない。有限の時間しか持たない人間にとって、「時間」は価値があり、それを支払っている。
但し、その単価は人によって異なる。コンテンツをタダで消費する人にとって、貨幣として対価は支払っていないのだけれど、「時間」は支払っている。時間を支払って、コンテンツのミームを吸収し、また拡散する。

人によっては、それが自分の時間を支払ってもなお支払いきれない価値を感じていれば、それを対価として支払う。他方、(動画など)時間を掛けるだけの価値がないと思えば、倍速視聴などで節約する。
しかし、いずれにしてもその人が感じる価値の分だけ、何かを支払っている。 

最近、youtubeなどで、スパチャをよく見る。100人いれば2,3人は飛ばす。スパチャを飛ばす人、時間を使い拡散する人、吸収だけする人、時短で見る人。
これは善意とか施しとか、そういう世界じゃなくて、自分の価値判断に従う世界。誰かに決められた価格ではなく、自分の価値基準を持つ。

これから世界の中心になる世代にとっては、これが当たり前の世界になっていくんじゃないか。

そして、誰が何にどれだけ支払ったかが可視化され、それがその人のステータスになり、発言力になり、人格になる。
そういう世界を、氏は見ているのかなと思いました。

なお、石川氏は Short shorts Film Festival でも講演をなさっているので、こちらも非常に面白かったです。より詳しく、コンテンツとNFTとの関係についてお話頂いています。

https://www.youtube.com/watch?v=I550Znb2Ec0


2021/10/16

R / Colaboratory: 時間のかかるパッケージインストールを何度もしたくないとき

 Colaboratory はサーバーレスで python や R のデータ分析ができる便利なサービスですが、サーバーレスならではの悩みとして、パッケージのインストールが面倒です。毎回使い始めるときにはまっさらのサーバーに戻ってしまうので、特殊なパッケージをインストールして使おうとすると、まずインストールに数分~十数分かかってしまいます。

 そこで、Colaboratory で R を使う際、高速パッケージインストール方法がないかと探したところ、「Google ColabでRパッケージの再インストールを爆速にする」が見つかりまして、参考にさせていただきました。ただ、ちょっと迷ったところとか、自分に合うようにカスタマイズしたところがあるので、それを備忘録がてら残しておこうと思います。

 

方法の概要は、 

  • Colaboratoryもなんらかの仮想(Linux?)サーバーで動いている。
    • 毎回立ち上げ時には初期状態のイメージから開始されるので、前回そこにインストールしたパッケージは消え去っている。
  • Rのパッケージのインストールは、CRANからなんらかのローカルディレクトリに展開されている。
  • ということは、そのディレクトリをそのままコピーして持っておけばいいのでは?
    •  ディレクトリを tar.gz してダウンロードしておき、使うときに展開する方法
    • ディレクトリを毎回マウントして使う方法
    • etc...

ということで今回は、パッケージをカレントディレクトリにインストールし、それを圧縮、ダウンロードして保存しておく方法を試します。

なお、この保存と復元はあくまでもパッケージインストールの途中経過であって、それ以外の目的では無いことをお断りしておきます。


【ライブラリをインストールして一時保存】

まず通常と同じようにライブラリをインストールします。その際、インストール先を指定しておくことで、後からそれだけ持ち出すことが楽になるようにしておきます。

 Rのkernelを指定したノートブックにて、

QCAのところは、インストールしたいライブラリにしてください。これは、

  1. dir.create で、current dir に library という名前のディレクトリを作成する
  2. .libPaths で、そのディレクトリを lib のインストール先に指定する
  3. ライブラリをインストールする

すると、「Installing package into 'content/library'」とアナウンスされ、無事上で作ったディレクトリにインストールされていることがわかります。 

なお、/content/ は Colab がスタートするディレクトリです。/home/hoge ではないんですね。

この段階は、CRANからパッケージをダウンロードし、依存関係のあるパッケージなども自動的に考えてインストールするので、結構時間がかかります。

 正常に実行されたら、試しにインストールしたライブラリを導入してみると、

 

 

無事、使えるようになっていました。

 では、これをパックして保存します。先ほど、パッケージは /content/library/ へインストールしたので、これをそのまま tar.gz に固めます。


 左ペインのファイルマネージャに「 library.tgz 」が見えるので、これをダウンロードし、一時保存しておきます。

 

【一時保存したライブラリを復元してインストール】

ColabであたらしいRのノートブックを立ち上げると、当然ですが、library ディレクトリは存在しません。そこで、先ほど一時保存したlibrary.tgz をアップロードします。


 

 掴んで落とすだけです。

 次に、このファイルは tgz で圧縮されているので、解凍します。

 

 エラーで終了してしまったときのために intern = TRUE を付けています。これがぶじ完了すると、ファイルマネージャに library のディレクトリが出現します。

これで、ライブラリのインストールが終わったときの状態が再現されたので、.libPath でパスを指定すれば使えるようになります。

library.tgz が手元にある状態からスタートすれば、アップロードに多少時間が掛かるくらいで、あとは数秒で終わります。

 

【その他】 

一番最初のリンク先の方法では、library.tgz を google drive において、そこから google to google でダウンロードして使う方法が示されていました。ローカルに置きたくない場合はそれが便利かもしれません。

一方、この方法では library.tgz は時が止まった状態で保存されているので、長期にわたって使うことは困難です。なぜなら、依存関係含め様々なパッケージがアップデートされるので、そんな中に library.tgz だけ時が止まっているのはあまりよろしくないからです。ですので、あくまでも短い期間に何度もインストールする時間をちょっと短縮したい、という目的で使うのがいいと思います。

特に、本格的に notebook を分析用として使いたい場合は、使うパッケージも増えますし、データや関連資料なども大きく、また計算時間や分析期間も長くなりますから、colab のような揮発性のインスタンスではなくて、Vertex AI(旧 AI Platform)の JupyterLab のような有料サービスを使うのがよいです。