2024年3月22日のブックマーク (3件)

  • 【読書ノート】機械学習エンジニアのためのTransformers - TadaoYamaokaの開発日記

    書籍「機械学習エンジニアのためのTransformers」を読んだので内容をまとめる。 以下の内容は、ほとんどClaude3 Opusを使用して作成している。 第1章 入門Transformers いる。さらに、Transformer系モデルのGPTとBERTが紹介され、自然言語処理の分類、固有表現認識、質問応答などのタスクにおいて、TransformersライブラリがTransformerモデルを簡単に適用できることが示されている。最後にはHugging Faceのエコシステムが概観されている。 重要なポイント Transformerはエンコーダ・デコーダのフレームワーク、アテンション機構、転移学習を組み合わせている GPTやBERTなどの代表的なモデルが登場し、自然言語処理のベンチマークを更新した Hugging Faceのエコシステムを使うことで、最先端のモデルを簡単に利用できる 理

    【読書ノート】機械学習エンジニアのためのTransformers - TadaoYamaokaの開発日記
  • PythonのマルチスレッドWSGIサーバーの選定 - methaneのブログ

    今までuWSGIをシングルスレッド、マルチプロセスで使っていたのだけれども、昔に比べて外部のAPI呼び出しが増えているのでマルチスレッド化を検討している。 uWSGI uWSGIでマルチスレッドを有効にした時は、各workerスレッドがacceptする形で動作する。スレッド数以上の接続をacceptすることがないので安心。 プロセス内のスレッド間ではmutexで排他されて、同時にacceptを実行するのは1スレッドのみに制限されている。つまりthendering herd問題はプロセス間でしか起こらない。マルチスレッド化でプロセス数はむしろCPUコア数まで減らせるので、thendering herd問題はむしろ今よりも軽減できる。(ちなみにプロセス間でもロックしてthendering herdを許さないオプションもあるけど、プロセス間同期は怖いので使っていなかった。) ただしuWSGIのマ

    PythonのマルチスレッドWSGIサーバーの選定 - methaneのブログ
  • Pythonの io.BytesIO と zipfile.ZipFile の組み合わせ - 何かを書き留める何か

    with文がやってくれるのはどこまでなのか インターネット経由で取得したZIPファイルを手元で加工する、という状況を考える。 たとえば、次のようなコードを書いたとする。 URL は ZIPファイルを取得できるものならば何でもよいが、今回は環境に配慮してローカルに1回だけダウンロードしてhttp.serverで簡易Webサーバを立てることでキャッシュしている。 import io import urllib.request import zipfile URL = "http://localhost:8000/python-3.12.2-embed-amd64.zip" with urllib.request.urlopen(URL) as f: content: bytes = f.read() with zipfile.ZipFile(io.BytesIO(content)) as zf

    Pythonの io.BytesIO と zipfile.ZipFile の組み合わせ - 何かを書き留める何か