StatsBeginner: 初学者の統計学習ノート

統計学およびR、Pythonでのプログラミングの勉強の過程をメモっていくノート。たまにMacの話題。

2023-01-01から1年間の記事一覧

LightGBMにおけるカテゴリ変数の扱い方

LightGBMにおけるカテゴリ変数の扱いについてググっていたら、以下のような投稿があった。 [SOLVED] How exactly does LightGBM handle the categorical features? | Kaggle この投稿のなかで、いろいろ参考になるリファレンスが貼られている。 max_cat_to_o…

MacでのChrome AppsのTwitter (X)アプリのインストール

今、Macでツイッター(X)のアカウントを複数運用するなら、Chrome Appsのアプリが最適だと思っていて、それを再度インストール(正確にはMacの別のユーザアカウントにインストール)しようと思ったら方法が分からなくて困ったのでメモしておきます。 説明す…

“All You Need”論文のベースモデルに近いスペックの英日翻訳Transformerを作ってみた

先日から英日Transformerの学習結果の報告を何度か書いてますが(エントリ1・エントリ2・エントリ3)、AWSでA100というGPUが8枚使える最高スペックのインスタンスが空いたので*1、コーパスとモデルを少し大きくして、Googleの有名な“Attention is all you ne…

英日翻訳Transformerを少しだけ大きくしてみた結果

研究でTransformerを使いたいので(去年ちょっと実際に使いましたが)、基本から勉強しようと思い、先日自分でTransformerに英日翻訳を学習させてみたのですが(エントリ1・エントリ2)、GPUを複数枚並列で動かせる環境を手に入れたので、コーパスとモデルを…

AWSの深層学習用GPUインスタンスのスペックと価格を一覧化した

つい先日も似たようなエントリを書きましたが、AWSのサイトでいまいち一覧化された情報がないことに怒りを感じたので、表にまとめました。 インスタンスを起動(作成)する画面からインスタンスの比較表をみることが出来ますが、そこではGPUの製品名やメモリ…

PyTorch初心者のメモ

以下は、PyTorchでのニューラルネット構築について、学んだ基礎的事項のメモです。 nn.ModuleというのはTransformerを含めたニューラルネットワークの部品を意味していて、nn.Moduleの__call__メソッドはforwardメソッドを呼ぶようになっているので、nn.Modu…

なんか凄そうな日英対訳コーパスを発見

LASER/tasks/WikiMatrix at main · facebookresearch/LASER · GitHub Wikipediaから作られた多言語の対訳データで、英語と日本語の組み合わせをみると85万1000件ある。 これは中身も少し整理してみたが、結構品質は高い。明らかに変なデータも混じっていたり…

DataParallelでの複数GPUの並列化が上手くいかない(PyTorch)

単なる作業経過のメモです。 AWSで、gクラスのインスタンスのvCPU数上限緩和を申請したら通りまして、複数GPUのインスタンスが使えるようになりました。 そこでGPU4枚のインスタンスを立てて、以下のような情報を参考に、先日構築したTransformer翻訳機にと…

英日翻訳の混合コーパスとJParaCrawlで機械翻訳の品質を比べてみた

※コーパスを「自作」したとは言えないのでタイトルから「自作」を取りました 先日、小型Transformerで英→日の機械翻訳をやらせてみた(先日のエントリ)のですが、その際にコーパスは、いくつかの無償配布コーパスを処理して独自に再編成したもの(合計約128…

AWSのディープラーニング用インスタンスを検討する

Google Colabの環境は気に入ってるのですが、操作しないと90分でランタイムが切断されるルールや、Pro+に入っても24時間以上は回せないルール、さらには実行中にGoogle Driveに書き込めなくなったりする不具合などもあって、長時間の学習ではストレスが溜ま…

小型のTransformerに英日翻訳をイチから学習させてみた

翻訳機を自作してみた ChatGPTやDeepLの元になったTransformer*1をつかって、英語から日本語への翻訳を学習させてみました。 とりあえず現段階で、いくつかの英文を翻訳させてみた結果が以下のとおりです(青字が機械翻訳)。 Your time is limited, so don’…

Google Colabでネット接続が切れた時

Google Colabでニューラルネットの学習中に、いかに処理を中断させないかで悩むことは多いと思います。ググるとよく紹介されているのは、 12時間や24時間でランタイムがリセットされてしまう問題:これはどうしようもないので、それまでにモデルや設定を保存…

無償配布の日本語・英語対訳コーパスのデータを綺麗にする

★めぼしいコーパスをまとめてダウンロードしてクリーニングして統合するPythonのコードを最後にのせてます。 ★少しソースを増やして、最終的には後日のエントリに書いてあるようなコーパス構成にしました。 日英対訳の(なるべく)綺麗なデータを得たい Tran…

Jupyter Notebook/Jupyter LabがMacでちゃんと開くようにconfigを設定

Jupyter Labを使ってるのですが、起動しようとするとブラウザでちゃんと開いてくれなくて、変なHTMLファイルがテキストエディタで開くようになってしまいました。そのHTMLファイルに書かれてあるURLをブラウザに入れると使えるのですが。 これはconfigにデフ…

MacのAcrobatで見開きPDFを1ページごとに分割する

後でまた使うことがありそうなのでメモしておく。 見開きが複数ある場合は、まず、1見開き1ファイルに分割する 個々のファイルをAcrobatで開く ToolsのOrganize Pagesを開く Moreのメニューから「Set page Boxes」を開く インチで分かりにくければmmに変更し…

ChatGPTにプログラミングを教わるとは、こういう感じです。

ChatGPTとのやり取りで一番楽しいのは、やっぱり、プログラミングを教えてもらうことですね。 今回は、とあるアニメーションの作り方を教えてもらいました。下にそのやりとりを掲載しておきますが、コードの中身は読み飛ばして、文章でのやり取りの部分と出…

TransformerやAttentionの分かりにくい点についてのメモ

ChatGPTの「GPT」はGenerative Pretrained Transformerの略であり、TransformerというのはGoogleが2017年に発表した『Attention is all you need』という論文で提案されたディープラーニングの画期的なアーキテクチャで、その論文のタイトル通り「Attention…

Rで距離行列を求める高速な関数

Rでクラスター分析などをするときに距離行列を求める必要があるが、次元が大きくなると(万単位とか)けっこう時間がかかる。 で、 標準で入ってる{stats}のdist() {Rfast}のDist() {wordspace}のmatrix.dist() を比較してみたところ、3つ目のやつが一番速く…

configure: error: gsl-config not found, is GSL installed? ERROR: configuration failed for package ‘RcppGSL’

こういう環境構築系の作業をいちいち書いてたらキリがないのだが、ググってすぐに解決しなかったものについては、後で助かる人がいるかもと思ってなるべく書いています。 以下はAWS(Amazon Linux)上のRでの話です。 {Rfast}というパッケージを入れる際に{R…