2022-02-01から1ヶ月間の記事一覧

Caligula Overdose

買った覚えはないのでたぶんPlusもの。 話はCrysis remastered3部作を勢いで買ってはみたものの、かなり期待外れであったことから始まる。 元々当時グラフィックが非常に綺麗ということで話題になっており、それゆえ欲しかったものの、まともに動くハードを…

BERTの穴埋め問題が面白い

といっても学習途中のデータではあるが。 聖書で一番興味深い人物は{}である。 [{'score': 0.1607993096113205, 'token': 8773, 'token_str': 'イエス', 'sequence': '聖書で一番興味深い人物はイエスである。'}, {'score': 0.028625786304473877, 'token': …

BERTの事前学習がある程度成功?

ここの記事に従って作業中である。この記事にもあるように、「日本語でBERTの事前学習をスクラッチで行っている記事が現段階であまり見当たらなかった」のは今でも同じで、英語で探してもtokenizationが全然違うのであまり参考にならず、とても参考になる記…

チェックポイントデータをPytorch形式に変換

結局、東北大学のスクリプトに含まれている convert_original_tf2_checkpoint_to_pytorch.py を使ったところ(これまで全く存在に気付いていなかった)、自前で事前学習したcheckpointデータをPytorch形式に変換でき、さらに単語穴埋め問題を解かせるところま…

GIGAスクール

そもそもGIGAスクールが対象としている教育領域は専門でも直接かかわっているわけでもないのだけれど、最近になって「現場ではちっとも活用できておらず失敗だ」みたいなことを言っている、以前は盛んに推進していた一部メディアを見かける。 ま、でもそうで…

作ってわかる!自然言語処理AI(坂本俊之)

とりあえず、Wikipediaから抽出したテキストに自分の興味のある分野のテキストを足してGoogle BERTで事前学習させてみたところ、Pytorch形式まで変換することに成功した。しかし、文の一部をmaskingして中に入る単語を予測させると一文字単語しか出てこない…

実践・自然言語処理シリーズ「言語処理システムをつくる」(佐藤 理史)

シリーズ4冊を一気に買ったため、現在一冊ずつ読み進めているが、「言語処理システムをつくる」とは銘打っているものの、実際の構築について具体的なことは書いておらず、概念的なことが書いてあるのみ。 それだけに読みやすいけれどあまり実践的ではないの…

Pythonでvenv

これまでpyenv for WindowsでPythonのバージョンの使い分けをしてきたが、ディープラーニング関係ではとにかくモジュールの合う・合わないが厳しく、ついにvenvを使うことに。 仕組みが分かるまでは難しそうだと思っていたけれど、要するに任意のフォルダに…

macOSアップデートで開発環境が壊れる?

0.01上げるのにずいぶん時間がかかるのもイヤだけれど、なんでコンパイルできなくするのか・・・と思ったが、一度cmakeで作成したファイルがアップデート後は矛盾が生じたためのようで、buildディレクトリを削除して新たにcmakeし直したところうまくコンパイル…

Googleオリジナルのbertを用いる

ことでひとまずは自作のチェックポイントデータをPyTorch形式に変換することができた。 ということは、ひとまずは全ての作業をGoogleオリジナルのbertスクリプトで行うことから始めるべき、ということ。 結果が出るにはまた一週間かかりそう。

未だにチェックポイントデータの変換できず

Python内からデータを読み込もうとしても結局同じエラーで止まってしまう。 from transformers import BertConfig, BertForPreTraining, BertTokenizer, BertModel bertconfig = BertConfig()bertconfig.vocab_size = 32768bertconfig.max_position_embeddin…

Bertにも色々オブジェクトの違いがあるらしい

中身は分かっていないものの、変換がうまくいかなかったのはどうやらGoogleが出したオリジナルのbertはBertForPreTrainingという型のオブジェクトであるのに対して、これまで延々作業して作成していたものはBertForSequenceClassificationという型になり、全…

日本語事前学習は終了したものの

結局2080Tiの処理が一番早く完了した。max_seq_lengthを512から128に減らした影響がどのくらいあるか分からないが、あまりなければ今後もこのPCを主体で使うことになりそう。4-5日で完了するのであればそれなりに実験の回数を重ねることができそうだ。 そし…

GoPro Hero8

別にマウンテンバイクを山の中で乗り回すわけでもスケボーをするわけでもサーフィンをするわけでもないのについつい買ってしまったGoPro。 現行版が10なのですでに二世代落ちなのだけれど、ネットで検索してみると10はCPUを強化した副作用で発熱による停止が…

テキスト処理の要素技術(山本 和英)

自然言語処理についてはディープラーニングの応用例ばかり見ていて、MeCabすら仕組みを理解していないことに改めて気づき、「テキスト処理の要素技術」という書籍を読んでみている。う~ん、当たり前だけれどやっぱり基礎がなっていないと応用ばかり考えても…

ダウンロードしたbert-base-japanese-v2を使う

タイトルにあるデータをダウンロードし、同じように import copyimport torchimport numpy as np from transformers import AutoTokenizer, AutoModel, BertJapaneseTokenizer, BertForMaskedLM model_path = './bert-base-japanese-v2'bert_tokenizer = Aut…

自作事前学習データ利用の準備

ここの記事を参考に、ローカルディスクにダウンロードしたデータを利用する方法を予習しておく。ここにあるようにまず、 git lfs installgit clone https://huggingface.co/cl-tohoku/bert-base-japanese-char-v2 因みにlfsがよく分からず調べるとlarge file…

ペルソナ5スクランブル

PS+で配布されていたので遊んでいたのだった。そして本日でエンディングまで完了。 う~ん、めちゃくちゃに面白いわけではないけれどつまらないわけでもない、そんな感じ。

改めて事前学習の前半部分 備忘録

色々ad hocで作業していたところ、記録せずにあれこれやっており、別のPCで作業をなぞろうとして失敗したので、改めて作業の記録。 東北大学のgithubをcloneして bert-japanese ができるが、tokenizerの訓練ステップで、 python train_tokenizer.py --input_…

BERT事前学習を11GB GPUで

max_seq_length=512が走っているのはA6000という48GBのメモリが載ったGPU しかし、これは一基しかなく、他は1080Tiもしくは2080TiというGPUメモリが11GBしかないもの。そのため、max_seq_length=128の事前学習用のデータを作成したうえで、 python3 ../model…

BERT事前学習

一体いつになったら終わるのか…と思ってよくみてみたらどこまで進んでいるのかが表示されていた。 5日間で約1/3程度なのであと10日間はかかりそう。 そうか、ローカルマシンだと2週間はかかるのか。 停電とかしたら泣きそう。これが終わればUPSをつなごう。 …

日本語をfastText - 2

結局、ここに従って新たなスクリプトをインストールし、テキストを抽出。 pip install --ignore-installed git+https://github.com/prokotg/wikiextractor python -m wikiextractor.WikiExtractor jawiki-20220201-pages-articles-multistream.xml.bz2 そし…

日本語をfastText

こちらもまずなぞってみる。 ひとまず、WikiExtractorを git clone https://github.com/attardi/wikiextractor.git で取得し、 cd WikiExtractor/wikiextractor で下のディレクトリに移動。因みに、 WikiExtractor.py の66行目の from .extract import Extra…

Ubuntu 20.04にMySQLインストールが面倒な件

元からsecurity vulnerabilityを突かれてデータ漏洩その他の問題を起こす最大の原因の一つであるためであるのはわかっているものの、ただ普通にSQLデータベースを使いたいユーザにとってはなんだかどんどん使いづらくなっているMySQL。WebやPHPとの連携もし…

日本語 Wikipedia エンティティベクトルの簡易検証

「PyTorchによる発展ディープラーニング」の7-4のスクリプトを実行する際に、東北大学のモデルの代わりに、今回作成したデータを用いてみる。まず、次元と単語数は、 一単語を表現する次元数: 300単語数: 901585 そうか、データが大きくなっているのは次元数…

日本語 Wikipedia エンティティベクトルの作成

これも東北大学のスクリプトを実行してみる python3 make_corpus.py --cirrus_file ../bert-japanese/jawiki-20220110-cirrussearch-content.json.gz --output_file output --tokenizer mecab --tokenizer_option "-d ../bert-japanese/mecab-ipadic-neologd…

tensorflowがGPUを認識するにはcuDNNが必要

基本的なことばかりだけれど、別のPCでBERTの事前学習を試そうとしたらGPU側にデータがロードされず、CPUの使用率とメモリがガッ、と増加。 import tensorflow as tfprint("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU')…