タグ

pythonに関するsh19910711のブックマーク (1,480)

  • 【備忘録】大規模言語モデルをLoRA/QLoRAでファインチューニング - Qiita

    はじめに huggingfaceに公開されている大規模言語モデルをLoRA/QLoRAでファインチューニングするのに調べた情報をまとめた備忘録。 各LoRA実行用のコードとコード内容の理解にあたって調査した内容をまとめている。 想定読者 大規模言語モデルをLoRAでファインチューニングしたい人(画像は対象外) LoRAや大規模言語モデルについては説明省略。以下の記事は参考になった。 実行環境 GPU RTX3090 V100×4 pip transformers: 4.38.2 torch: 2.2.0 trl: 0.7.10 peft: 0.10.0 コード集 後々Githubにまとめて公開予定 コードの説明 モデルの読み込み from transformers import AutoModelForCausalLM, AutoTokenizer # 利用するLLMを指定 model_i

    【備忘録】大規模言語モデルをLoRA/QLoRAでファインチューニング - Qiita
    sh19910711
    sh19910711 2025/06/06
    2024 / "LoRAのファインチューニング対象となるベースのモデルのモデルカードの情報やtokenizer_config.jsonを参考にデータを加工 / trl: Transformer Reinforcement Learningの略 + LLMで取り扱われている学習方法は一通りサポート"
  • ベクトルタイル (Mapbox Vector Tile) をPythonで自力で生成してみる - Qiita

    ベクトル地図タイルのデファクトスタンダード形式である Mapbox Vector Tile (MVT) のデータを試しに自力で生成してみたので、その要点を解説してみます。「自力で生成」というのは、MVTの実体である Protocol Buffers のデータを組み立てるところからフルスクラッチでやってみようという意味です。 最終的に上図のようなポリゴンを含むベクトルタイルを生成して配信できました。サンプルコードではPythonを使って以下のようなことを行っています。 (GeoJSONのデータをもとに)大量のポリゴンを含むMVTを自分で組み立てて生成する。各地物には属性情報も付与する。 現在時刻などの赤い文字列の部分もLineStringsで動的に描く。 PythonFastAPIで配信する。 サンプルコードのリポジトリは以下です: まず前提として: 多くのユースケースでは tippeca

    sh19910711
    sh19910711 2025/05/31
    2023 / "一部のデータベースエンジンにはMVTを動的に生成する機能が実装 / MVTを動的に生成したい場合はこれらに任せるのが手軽 / 簡単な生成処理を実装をしてみて周辺の仕組みを理解するのも楽しい"
  • Python型チェッカー ty を使ってみた話

    Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure

    Python型チェッカー ty を使ってみた話
    sh19910711
    sh19910711 2025/05/31
    "ty: rustのsalsaフレームワークをベースにしており非常に高速 + ruffやuvを開発している会社が開発 / salsa: rust-analyzerでも使われているオンデマンド計算のためのフレームワーク"
  • NeRF検討用データセットをBlender Pythonスクリプトで作成する方法 - Qiita

    はじめに はじめまして、Live2D社AIチームリーダーの澤田です。 この度、Live2D社ではQiitaでの技術情報の発信を始めることにいたしました。 QiitaではLive2Dという枠組みに囚われずに様々な技術トピックを扱っていこうと思っています。 今回はDeepLearningのCG応用として現在盛んに研究されているNeRFと呼ばれる技術の検討用データセットを、BlenderPythonスクリプトで作成する方法について紹介いたします。 NeRFに限らず、様々なデータセットの作成に応用可能なので、画像系の機械学習に興味のある方全般にとって役に立つ情報だと思います。 NeRFとは NeRF(Neural Radiance Fields)とは、NeRF: Representing Scenes as Neural Radiance Fields for View Synthesisで提案

    NeRF検討用データセットをBlender Pythonスクリプトで作成する方法 - Qiita
    sh19910711
    sh19910711 2025/05/20
    2022 / "BlenderではPythonスクリプトを使って様々な処理を自動化でき / カメラを動かしながらレンダリング / NeRFに限らず、様々なデータセットの作成に応用可能"
  • transformers向け系列ラベリングクラスRwkvForTokenClassificationを書いてみた - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? from typing import List, Optional, Tuple, Union import torch from torch import nn from transformers.modeling_outputs import TokenClassifierOutput from transformers.models.rwkv.modeling_rwkv import RwkvModel, RwkvPreTrainedModel class RwkvForTokenClassification(RwkvPreTra

    transformers向け系列ラベリングクラスRwkvForTokenClassificationを書いてみた - Qiita
    sh19910711
    sh19910711 2025/05/20
    2024 / "transformers.models.rwkv.modeling_rwkv / RWKVが固有表現抽出や品詞付与に向いているのかどうか、正直あまり自信がない"
  • LangChainでPythonのDIライブラリ「Injector」を使う例の紹介 #LangChain - Generative Agents Tech Blog

    ジェネラティブエージェンツの大嶋です。 クラスの外部から依存を注入するDI(Dependency Injection)のPythonパッケージとしてInjectorがあります。 github.com この記事では、LangChainでDIライブラリのInjectorを使う例を紹介します。 ※LangChainを使うのはあくまで一例です。Injector自体は幅広く活用できます。 関数でChainを作成する実装 InjectorやDIの話に入る前に、なぜそのようなものがあると嬉しいのかから書いていきます。 LangChainでシンプルなRAGのChainを作成して実行する関数は、次のように実装できます。 def invoke_retrieval_chain(model: BaseChatModel, retriever: RetrieverLike): prompt = ChatPrompt

    LangChainでPythonのDIライブラリ「Injector」を使う例の紹介 #LangChain - Generative Agents Tech Blog
    sh19910711
    sh19910711 2025/05/15
    2024 / "Injector: クラスの外部から依存を注入するDI(Dependency Injection)のPythonパッケージ / ある処理で使う依存関係を状況に応じて切り替えられるようにしたい"
  • WindowsでGPUを使った機械学習をするためにCUDA、Pytorch、TensorFlow環境を整える - Qiita

    この記事はなにか せっかく強いPCがあるならGPU使ってこうぜ!ってことでWindowsPythonのCUDA機械学習環境を整えたので、私自身の備忘録がてら、まとめておきます。 いろいろ試したけど、つまづいた方、これならうまくいってほしい!! (私自身もめちゃめちゃつまづいたので...) 構築するもの scoop: Windows向けのパッケージマネージャーで、コマンドラインを通じてソフトウェアを簡単にインストール・管理できるツール Python: 俺たちのPython CUDA: NVIDIA製GPU向けの並列計算プラットフォームおよびAPI cuDNN: NVIDIAが提供するディープラーニング向けのGPUアクセラレーションライブラリで、CUDAと連携して動作 Pytorch: 機械学習と深層学習のフレームワーク TensorFlow: Googleが開発したオープンソースの機械学習

    WindowsでGPUを使った機械学習をするためにCUDA、Pytorch、TensorFlow環境を整える - Qiita
    sh19910711
    sh19910711 2025/05/15
    2024 / "scoop: Windows向けのパッケージマネージャーで、コマンドラインを通じてソフトウェアを簡単にインストール・管理できる"
  • ディープラーニングで手書き文字生成してみた【Pytorch×MNIST×CGAN 】 - Qiita

    はじめに ディープラーニング勉強の一環として、GAN(敵対的生成ネットワーク)を使った手書き文字の生成にチャレンジしてみました。 ディープラーニングよく分からないけど画像生成に興味ある 機械学習とか勉強してみてGANに興味あるけど、難しそうで手を出せない PytorchでGANを実装してみたい という方の参考になれば嬉しいです。 ※詳しい理論の説明はしていません。参考となるリンクをいくつか載せているので、必要な場合はそちらを参照してください。 ↑最終的にこんな感じで文字生成することができました。 環境 簡単に、私が実行した環境を記載しておきます。 言語:python DeepLearning用ライブラリ:Pytorch 環境:GoogleColaboratory 使用するデータ:MNIST(0~9の数字の手書き文字データ) モデル:CGAN(ConditionalGAN) ※GANの1種

    ディープラーニングで手書き文字生成してみた【Pytorch×MNIST×CGAN 】 - Qiita
    sh19910711
    sh19910711 2025/05/15
    2019 / "CGANを使って数字の出し分けをしたいので、各画像がどの数字を指すかを表すラベルも学習 / GANは学習が難しいという前評判通り、ちょっとモデルに変化を加えると上手くいかなかったり"
  • BigQuery Python UDF 完全に理解した

    マイベスト データエンジニアの snhryt です。 先月頭に、BigQueryにユーザー定義関数 (UDF) をPythonで書ける機能がプレビュー版でやってきました🎉 少し時間が空いてしまいましたが、自分でもいろいろ触って完全に理解した[1]ので、体験記をまとめます。

    BigQuery Python UDF 完全に理解した
    sh19910711
    sh19910711 2025/05/14
    "レコード数の多寡に依らず一定のボラがあり、レコード数が増えるとそれが10数秒レベルになる / Python UDFではキャッシュが効かない旨がばっちり公式ドキュメントでも言及"
  • mini Kaggle を streamlit で作った

    開発の経緯 ギャグの人数がいるサークル用に、昨年から部内コンペ用のプラットフォームを運営しています。 今は昨年作った Go製のものが稼働しているのですが、いくつかの課題を抱えていました。 評価指標が全然使えない評価指標の計算まで全て Goで自前で書いたものだったので、新しい評価指標を追加するのが大変です。 Python で書かれたライブラリを使いたいところです。引き継ぎがやばそう今後後輩に引き継いでいくことを考えると、機械学習に興味があってかつ Webができる人に見てもらう必要があります。 流石にまずそうです。 新歓が終わって、158人の部員がKaggleコミュニティに入ってくれました🤲´- mlに興味がある人が多くてうれしい 運営がんばります‼️ #trap1kaggle — abap34 (@abap34) May 9, 2024 というわけで以前から気になっていた streamli

    mini Kaggle を streamlit で作った
    sh19910711
    sh19910711 2025/05/14
    2024 / "ベストスコアが出るとお祝い + コンペを盛り上げるにはディスカッションが必須 / wakatime で見てみると大体9時間くらいの作業時間"
  • TensorRT-LLMでLLM推論高速化 - arutema47's blog

    TensorRT-LLMとは TensorRTをLLM用に多数の推論高速化技術を入れたNvidiaのオープンソースフレームワーク。 GPUメモリ使用率を半分に低減し、速度も1.5-2倍程度改善してくれる強力なフレームワーク。 www.alibabacloud.com TensorRT-LLMについてはこちらのAlibaba解説がわかりやすい。 特徴 量子化による省GPUメモリ 重み、Activation量子化を積極的に入れ込み、GPUメモリ使用量を半分以下に削減。 W8A8 SQ uses the SmoothQuant technique[2], which reduces the model weight and activation layer to the quantization precision of INT8 without reducing the accuracy of

    TensorRT-LLMでLLM推論高速化 - arutema47's blog
    sh19910711
    sh19910711 2025/05/14
    2024 / "LLM用に多数の推論高速化技術を入れたNvidiaのオープンソースフレームワーク / モデルコンパイル: MLPレイヤとNormalizeレイヤを一つのレイヤにまとめる + メモリ読み書きの回数を減らし高速化"
  • uvでライブラリをグルーピングして最小限の依存関係で起動できるようにする - きり丸の技術日記

    始めに Pythonに限らずアプリケーションを大規模で運用していくほどライブラリの依存関係が増えていきます。その時にAPIとバッチ等の用途に応じたアプリケーションごと分割する方法もありますが二重管理が面倒になります。JavaではGradleを使用してマルチプロジェクト構成にしておくことで、必要なライブラリだけで起動するようにできました。 今回の記事では、Pythonのuvを使用してライブラリをグルーピングすることで、必要なライブラリを最小限にする方法を記載します。 環境 Python 3.13 uv 0.7.2 実装 ライブラリのグルーピング dependency-groupsに分割したい単位で集約します。今回の場合は、dependenciesで全アプリケーションに依存させたいライブラリを残し、他はapi, auth, worker, devに分割しました。 [project] depen

    uvでライブラリをグルーピングして最小限の依存関係で起動できるようにする - きり丸の技術日記
    sh19910711
    sh19910711 2025/05/13
    "dependency-groupsに分割したい単位で集約 / uvの仕様でdevは特に指定がない限りインストールされるので、明示的な除外が必要"
  • GIS × Python Tutorial 6.2 ~ DTMの作成 ~

    この記事は「GIS × Python Tutorial」の関連記事です。 はじめに 前回の記事ではLidarで取得した、点群データの読み書きや外れ値処理を、"PDAL" というライブラリーで行いました。環境構築に関しても前回の記事を参照してください。 この記事では、点群データから "DTM" の作成を行いますが、その為に必要な関連知識についてもまとめています。 今回使用するデータ Raster DTM(Digital Terrain Model)とは CSF(Cloth Simulation Filter)による点群分類 データのイメージ 計測データの反転 クロスシュミレーション CSFの詳細 Grid Particleの作成 CPを探す 外力による変位 内力による変位 点群分類 実データでの検証 サンプルの切り抜き サンプル範囲の選定 データの切り抜き パラメーターの変更による結果への影

    GIS × Python Tutorial 6.2 ~ DTMの作成 ~
    sh19910711
    sh19910711 2025/05/13
    2024 / "CSF(Cloth Simulation Filter) を使用して「地表点か、それ以外か」を分類 / クラスを分ける事で、DTM や DSM を作成する事が出来ますし、その間にある点群は内部の構造を表している"
  • 【Python自前実装】マクローリン展開 y=e^xのアニメーション - 機械学習基礎理論独習

    はじめに マクローリン展開をアニメーションで見せる動画をPythonで作る方法を紹介します。 開発環境は Google Colab です。 マクローリン展開アニメーションです。 pic.twitter.com/wEeE8CP5PD— 機械学習基礎理論独習 (@PG12345678) 2021年10月24日 Google Colabってなに? Google ColabとはGoogle Chromeで動く開発環境のことで、Google Chromeで動くアプリケーションのことです。 なので、OS関係なく動かすことができると思います。 インストール方法は、忘れましたが、簡単なはずです。 すみませんが、ググってください。 マクローリン展開 をマクローリン展開すると、以下のようになります。 アニメーションの作成方法 Line2DやTextのインスタンスの配列を要素とする配列(フレーム)を作成します。

    【Python自前実装】マクローリン展開 y=e^xのアニメーション - 機械学習基礎理論独習
    sh19910711
    sh19910711 2025/05/13
    2021 / "現在の点と前の点の差分を取って、前の点から現在の点に徐々に近づくようにアニメーション"
  • IcebergテーブルをDuckDBで手軽に読み取ろう

    はじめに データエンジニアをやっておりますTaichiです。 最近Apache Icebergという単語をよく耳にするようになりました。 Icebergの処理エンジンといえば Apache Spark Apache Flink Trino などでしょうか。このラインナップ、構築/運用するのは結構ハードなものが多いと思いませんか? 例えば、私のプロジェクトではSparkを使った構成でデータ処理を実施していますが、以下のような具体的な課題に直面しました。 Apache Hadoopのクラスタ構築作業や、Sparkを動かすために専用の記述(PySpark)が必要になる等、一定の学習が必要。 PySparkの記述の仕方によっては、性能が全然出ずにレスポンスが返ってこなかったり、OutOfMemoryになる場合があり、かつ解析やチューニングの難易度が高い。 クラウド前提であれば、マネージドHadoo

    IcebergテーブルをDuckDBで手軽に読み取ろう
    sh19910711
    sh19910711 2025/05/11
    "S3 Tables/Glue Data Catalogに関しては、現在プレビュー中ではありますがDuckDBにIcebergCatalogとしてマウントが可能になっています。これにより、テーブルのList等の操作ができる"
  • StreamDiffusionとQuest3で視界をリアルタイム変換してみる

    では発売されていないですが Ray-Ban Meta や今後発売される Meta Orion など、これから MRグラス + AIの組み合わせが盛り上がってきそうです。 そんな世界がどういったものかを考えてみたくて 最近リリースされた Meta Quest 3 パススルーAPI + 画像生成AIの組み合わせで視界をリアルタイムで変換する、みたいなことをやってみました。 概要 MetaからQuest3のパススルーAPIがリリースされました。Quest3では画像生成AIの動作は厳しいので、Quest3のパススルー映像をPCに送信、PC上で画像生成、それをまたQuest3に返信して表示する。 というのをやってみます。 StableDiffusionは生成に時間がかかるので早いと噂のStreamDiffusionを使います。 Quest3のパススルー映像の中心から512ピクセル×512ピクセル

    StreamDiffusionとQuest3で視界をリアルタイム変換してみる
    sh19910711
    sh19910711 2025/05/09
    "今後発売される Meta Orion など、これから MRグラス + AIの組み合わせが盛り上がってきそう / 早いと噂のStreamDiffusion / Quest3では画像生成AIの動作は厳しいので、Quest3のパススルー映像をPCに送信"
  • 【FastAPI+MySQL】alembicでマイグレーションファイルを自動生成して実行する

    はじめに alembicSQLAlchemyの著者によって作成されたデータベースマイグレーションツールです。PythonのWebフレームワークであるFastAPIDBのマイグレーションの仕組みを持っていないため、DBのマイグレーションをするためにalembicを使います。 alembicはマイグレーションファイルを自分で書く方法のほかに、テーブル定義の変更を自動で読み取ってマイグレーションファイルを自動生成することができます。とても便利な機能なのですが、実際にやってみようとしたところ苦戦したので、備忘録として残しておきます。 環境 MySQL 5.7 Python 3.9.13 alembic 1.8.1 fastapi 0.79.0 PyMySQL 1.0.2 SQLAlchemy 1.4.39 uvicorn 0.18.2 ディレクトリ構成 alembicに関係があるところだけ抜粋

    【FastAPI+MySQL】alembicでマイグレーションファイルを自動生成して実行する
    sh19910711
    sh19910711 2025/05/08
    2022 / "alembic: SQLAlchemyの著者によって作成されたデータベースマイグレーションツール / テーブル定義の変更を自動で読み取ってマイグレーションファイルを自動生成する"
  • NumPyro について、確率モデルを扱いたい理由を再確認したあとに動かしてみる

    この記事はTensorFlow Advent Calendar 2020の6日目の記事です。 概要 この記事では NumPyro について扱います。NumPyro は確率的プログラミングを行うためのフレームワークの1つで、バックエンドに JAX を使っていることが特徴的です。この時点で次のような疑問が生まれるでしょう。 そもそもなんで確率なの?サイコロを投げるの? 確率的プログラミングとは? JAXって? これにできる限り真正面から答えようというのがこの記事の目的です。まず確率モデルを導入する理由について述べます。次に、確率的プログラミングが扱う課題について述べます。その後、 NumPyro に関係する技術である Pyro や JAX について確認したあとに NumPyro について触れます。 このような構成のため、それぞれの構成要素について深くは触れません。また、ベイズ推論や機械学習に関

    NumPyro について、確率モデルを扱いたい理由を再確認したあとに動かしてみる
    sh19910711
    sh19910711 2025/05/08
    2020 / "NumPyro が登場した背景について / NumPyro: HMM の実行において、Pyro と比較して 340 倍、Stan と比較して 6倍の高速に実行"
  • 【機械学習】Hugging faceの評価指標計算ライブラリ「Evaluate」を使ってみた。

    NLPのライブラリ「transformers」などで有名なHugging face社の評価値計算ライブラリ、「Evaluate」を使ってみます。 記事のGoogleColabで動かせるコードをこちらで公開中です。 Hugging faceの新ライブラリ「Evaluate」を使ってみた。 こんにちは。PlayGroundのデータコースに所属している安藤太一です。 NLPモデルのライブラリ「transformers」などで有名なHugging face社が最近新しいライブラリ、「Evaluate」を発表したので、使ってみようと思います。 目次 Evaluateとは 基的な評価値の計算 Evaluatorを使う まとめ 参考文献 Evaluateとは Evaluateはモデルの評価や比較、性能のレポートをより簡単に、標準的に行うためのライブラリです。 既存の評価指標(メトリクス)はNLP(自

    【機械学習】Hugging faceの評価指標計算ライブラリ「Evaluate」を使ってみた。
    sh19910711
    sh19910711 2025/05/05
    2022 / "Evaluate: モデルの評価や比較、性能のレポートをより簡単に、標準的に行うためのライブラリ / オリジナルの評価指標を作成して、Hugging face Hubにアップロードし、共有する機能もある"
  • pyannote.audioとOpenSearchで類似話者検索を試す - Qiita

    はじめに 朝日新聞社メディア研究開発センターの嘉田です。 最近類似話者検索を実現するために、OpenSearchのベクトル検索機能を利用して実験を行いました。音声データから抽出した話者の埋め込みベクトルを活用し、クエリとなる話者に近い既存の話者を特定します。 記事では、類似話者検索の流れを解説するとともに、OpenSearchのベクトル検索を利用する上で確認しておくとよいことをご紹介します。 ※ベクトル検索の技術説明、ベクトルデータベース比較、各アルゴリズムの技術説明は行いません。 類似話者検索の仕組み 筆者のケースでは、話者分離後の各話者に対して類似話者を検索するというフローを想定しました。そのため、既存の話者分離フローと組み合わせて次のプロセスで実現を目指しました。 1. 話者分離と話者の埋め込みベクトル生成 話者分離にはpyannote.audioというフレームワークを使用していま

    sh19910711
    sh19910711 2025/05/05
    2024 / "音声データから抽出した話者の埋め込みベクトルを活用し、クエリとなる話者に近い既存の話者を特定 / 話者分離にはpyannote.audioというフレームワークを使用"