タグ

2024年6月6日のブックマーク (81件)

  • RとPython両方でJava VMを実装して気づいた言語の違い|igjit

    Java VMを実装したのは5年前にRで書いて以来2度目になる。(Rで実装したときのまとめ: Java VM 自作 方法) 異なる言語で同じものを作る過程で、両言語の違いや特徴を感じる場面があったので記録しておく。 Rではいろいろなものが値を返すRではいろいろなものが値を返す。 例えばRのif文は値を返すので結果を代入できる。 val <- if (cond) 1 else -1Pythonのif文だとこう書くことになる。 if cond: val = 1 else: val = -1Pythonで結果を代入したい場合は条件式 (三項演算子) を使う必要がある。 val = 1 if cond else -1もう一つの例としてswitchを見てみる。 Rの場合、switchの結果を代入できる。 name <- "two" val <- switch(name, one = 1, two =

    RとPython両方でJava VMを実装して気づいた言語の違い|igjit
    sh19910711
    sh19910711 2024/06/06
    "Java VMを実装したのは5年前にRで書いて以来2度目 / 異なる言語で同じものを作る過程で、両言語の違いや特徴を感じる場面があった / Rではオブジェクトシステムが複数存在し、解きたい問題に応じて選択する"
  • カンファレンスの”体験”のデザイン -かりゆしウエアの舞台裏- | RubyKaigi 2024|ゆっきー | Yuki Haruyama

    めんそ〜れ!「B/43(ビーヨンサン)」を提供するスマートバンクでコミュニケーションデザイナーをしているゆっきー(@yuki930)です✋ 2024年5月に沖縄で開催されたRubyの国際カンファレンス「RubyKaigi 2024」で、同僚のmmitoさんと共にRubyKaigi 2024カンファレンス全体のデザインを担当させていただきました。 沖縄らしさを表現した今回のビジュアルの制作過程については、せひmmitoさんの記事をご覧ください! RubyKaigiでは、毎年デザイナーが入れ替わる方式が採用されており、RubyKaigi 2024ではmmitoさんと私の2名体制でデザインを担当しました。 歴史のあるカンファレンスなので、歴代デザイナーのみなさんのさまざまな試行錯誤がチームに経験として積み重ねられています。 私の記事では、カンファレンスの体験のデザインにフォーカスをあて、今年の制

    カンファレンスの”体験”のデザイン -かりゆしウエアの舞台裏- | RubyKaigi 2024|ゆっきー | Yuki Haruyama
    sh19910711
    sh19910711 2024/06/06
    "RubyKaigiでは、毎年デザイナーが入れ替わる / さまざまな試行錯誤がチームに経験として積み重ねられています / 1000着を超える大量のかりゆしウェアを、沖縄県内で製造するためには、たくさんのスケジュール調整が必要"
  • ダッシュボードを使ってもらうには、 現場へのヒアリングが重要だと 改めて気づいた話

    Timee × Commune データチーム勉強会より

    ダッシュボードを使ってもらうには、 現場へのヒアリングが重要だと 改めて気づいた話
    sh19910711
    sh19910711 2024/06/06
    "ダッシュボード: 1weekでざっくりと作る + 動くものを見せつつ、実務利用をイメージできるかMTGでフィードバック / 関連チームに同期的に、全社に非同期で共有 / ヒアリングをしないと微妙に実務とそぐわない可視化になる"
  • LLMにまつわる"評価"を整理する

    「LLMの評価」というフレーズを見て、どんなことを思い浮かべるでしょうか? おそらく大半はLLMモデル自体の評価のことを思い浮かべると思います。新しいモデルが出てきた時に𝕏で見かける「GPT-4o のMMLUベンチマークは89%!」みたいなアレ。 ですが、プロダクト開発にLLMを使っている人の間では、プロンプト等が十分な品質を出しているかの確認などにも評価という言葉を使っていることは多いのではないかと思います。 うまい具合に後者を区別するためにいい感じの呼び名を付与したい気持ちがあるのですが、英語圏での例を見てみるとシンプルに"Evals"と呼んでることもあれば Evaluating LLM System Evaluating LLM-based Applications などなど表現の仕方は様々になっています。 そしてそのプロダクト開発文脈での評価も、実態としてはオフライン評価やオンラ

    LLMにまつわる"評価"を整理する
    sh19910711
    sh19910711 2024/06/06
    "リグレッション: より速い/安い/精度が高いモデルが出て変えたいな〜となったり、改善のためにアルゴリズムから変えることはよくある + 今まで守ってきた評価観点を満たせているかを確認する"
  • LLMとの共同執筆は文章の多様性を減らすか?

    sh19910711
    sh19910711 2024/06/06
    "ChatGPTの登場以降、使われるように・使われなくなった単語群の存在が示唆 / LLMと文章を書くとユーザー間の文章は似てくるか > InstructGPTだと似てくる + GPT3グループより有意に均質"
  • SQL分析を爆速で実現するDuckDBの魅力! - FLINTERS Engineer's Blog

    お世話になっております。FLINTERSでデータエンジニアをしている堀と申します。今回の投稿はFLINTERSブログ祭りの記事です。テーマは #データ分析 #SQL #技術 です。 日は爆速分析SQLエンジンのDuckDBを紹介したいです。 そもそも https://duckdb.org/ brew install duckdb ポイント インストールかんたん パッと起動して、さまざまなデータソースにSQL分析ができる 豊富なインプット方法、アウトプット方法 ローカルのデータファイル(CSV, JSON, parquet, Excel) http(s)でアクセスできるデータファイル S3/GCS/Azure Blob Storage上のデータファイル PostgreSQL MySQL また、DuckDBは各言語のクライアントライブラリでもある。いろいろあるよ SQLの実行が爆速 なんでD

    SQL分析を爆速で実現するDuckDBの魅力! - FLINTERS Engineer's Blog
    sh19910711
    sh19910711 2024/06/06
    "jq, awkではある程度のツールへの習熟が必要であり、分析ソースコードは誰も読めないものになりがち / SQLであれば、分析ソースコードの共同作業(相互レビュー、共同開発)が容易になりそうで、そんなところも期待"
  • Search Engineering Tech Talk 2024 Springに参加した & ちょっとだけ運営お手伝い - ときどき起きる

    こんにちは、 pakioです この度5/31にLegalOnさんのオフィスで開催された Search Engineering Tech Talk 2024 Spring (検索技術勉強会)に参加、縁あって初めて勉強会の運営側に携わらせていただいたのでその記録です。 search-tech.connpass.com 検索技術勉強会自体は検索エンジニアとしてキャリアをスタートした2019年から参加しており、前回2023年12月には登壇もさせていただいた勉強会で、個人的に思い入れがある会でした。 前回登壇時の記事はこちら => hit-the-sack.hatenablog.com 前回の勉強会後に id:takuya-a さんとお話している中、(自分から猛プッシュした結果)運営にお誘いいただき、今回お手伝いをさせていただく運びとなりました。 各セッションの感想 RAG改善からみたクエリ・ドキュ

    Search Engineering Tech Talk 2024 Springに参加した & ちょっとだけ運営お手伝い - ときどき起きる
    sh19910711
    sh19910711 2024/06/06
    "検索エンジニアというポジションはバックエンドなようで機械学習的な要素も絡んでくる、非常にユニークなポジション / そんな分野で日々各社がどのような課題を抱え対処しているのか"
  • 検索失敗率のモニタリングから改善まで - Search Engineering Tech Talk 2024 Spring

    Search Engineering Tech Talk 2024 Spring の LT枠の発表資料です。

    検索失敗率のモニタリングから改善まで - Search Engineering Tech Talk 2024 Spring
    sh19910711
    sh19910711 2024/06/06
    "検索失敗: 「検索する」ということは積極的に探したいものがある + 何も開かずに離脱したのであれば「検索に失敗している」とみなす / 順序: 公開してからの経過日数とPick数をバランスよく考慮"
  • 数値計算初心者にPythonよりJuliaをお勧めする理由 | Tomoaki Yamada

    Juliaの長所 math.fabs(x)よりabs(x)の方がわかりやすい。 絶対値を計算する方法。前者はPythonで後者はJulia。 MATLAB経験者であれば、Juliaの方がより似ているので移行がしやすい。 ループが1から始まる。 計算速度が早い。 ただし、適当に書いて勝手に早くなるわけではない。 計算速度がきちんと高速になる書き方を身につける(=Juliaの仕組みを知る)必要がある。 Pythonの強み 数値計算分野以外の汎用性は圧倒的にPythonJuliaWebデザインとか(おそらく)しない。 そのため、研究者志望以外の学生に教えるならJuliaよりPython。 あるいはお手軽さ重視でR。 ゼミ生が就職活動で「Rを使ったことがあるか」を聞かれたらしい。 機械学習をするなら現時点ではPythonのほうが充実している。 ひょっとしたら、今後はJuliaのスピードが活か

    数値計算初心者にPythonよりJuliaをお勧めする理由 | Tomoaki Yamada
    sh19910711
    sh19910711 2024/06/06
    "MATLAB経験者であれば、Juliaの方がより似ているので移行がしやすい / 計算速度が早い + ただし、適当に書いて勝手に早くなるわけではない / 高速になる書き方を身につける(=Juliaの仕組みを知る)必要がある"
  • フロントエンド開発のためのテスト入門書評

    はじめにlink 2023/04/24に発売された「フロントエンド開発のためのテスト入門」を読了したので、読みながらとったメモをもとに感想や自分の考えと違ったところなどをまとめる。 Amazon 全体的に非常に参考になる内容が多いが、特に後半にいくにつれて加速度的に参考になる内容が増え非常に良著であると感じた。 実践Node.js入門でもテストはある程度量をとって記述しているが、テストそのものがメインではないため情報や考え方として落ちている内容の多くがこので補完されている。自著を読んだ人には同時に書もおすすめしていこうと思っている。 Amazon 自分はフロントエンドのテストはバックエンドに比べて優先度が低くなる傾向にある。 これは自分が扱うサービスがtoB系が多く、表示崩れなどがサービス継続上致命的になりにくいため、気づいたベースで最速で直せる環境があればよいと考えているため。 また

    フロントエンド開発のためのテスト入門書評
    sh19910711
    sh19910711 2024/06/06
    "フロントエンドのテストって何ぞやって疑問に大体の答えが返せる良著 / 後半にいくにつれて加速度的に参考になる / 5章: UIコンポーネントテストについての話。主にtesting-libraryを使ってどうやるかという説明" 2023
  • ChatGPTでOpenAPI定義からKarateのテストスクリプトを自動生成する - Taste of Tech Topics

    最近久々に近所のお祭りに行ってきました、屋台のべ物ではりんご飴が好きな菅野です。 皆さん、普段APIのテストはどのように行っておりますか? 最近は、APIのテスト自動化を行えるようなツールやサービスも増えてきているように思いますが、当社では、OSSのテスティングフレームワークである「Karate」を用いることが多いです。 比較的簡単な構文で直感的にAPIのテストができる点がよいと思います。 しかし、いかに簡単な方法でAPIのテストが記述できるからといっても、APIの数が多いとテストを作成するのは一苦労です。 今回は、そんなKarateのテストスクリプトをChatGPTを活用して作成してみようと思います。 まず、REST-APIの仕様を定義する場合、OpenAPIを利用することが多いのではないか、と思います。 ChatGPTの開発元である「OpenAI」ではないです。自分も書いていて、紛ら

    ChatGPTでOpenAPI定義からKarateのテストスクリプトを自動生成する - Taste of Tech Topics
    sh19910711
    sh19910711 2024/06/06
    "Karate: Gherkin(ガーキン)形式を用いて記述するAPIテストのためのフレームワーク + 比較的簡単な構文で直感的にAPIのテストができる点がよい / APIのテストだけでなく、UIテストやGatlingと連携した負荷試験等も幅広くできる" 2023
  • USBケーブルからファミコンと初代ゲームボーイの電源を取ってみよう!

    で、次に重要なのがプラグに接続するプラスとマイナスの区別。 今は、秋葉原の秋月電子でもセンタープラスのACアダプターしか売っていないような世の中ですが、ファミコン用のアダプターはセンターマイナスなんです。 これがUSBケーブルが出回っていない原因なのではないかと思います。そもそも、需要もあまり無い、というのも原因のような気がしますが・・・(泣) ファミコン用の純正アダプターを見てみると、電圧は10V、端子のプラスマイナスを見てみると、端子の外側がプラス、真ん中がマイナスの記載になっていますね。 これがセンターマイナスというやつです。 電圧は9Vでも動くので今回は9Vで作りましたが、心配でしたら10Vに設定すれば良いと思います。 ハードオフのジャンクコーナーで108円で売っているファミコン互換機のアダプターは9Vが多いですね。あれもいっちょまえにセンターマイナスだったりします。 まずは、昇圧

    USBケーブルからファミコンと初代ゲームボーイの電源を取ってみよう!
    sh19910711
    sh19910711 2024/06/06
    "Amazonなどを探してみると、ゲームボーイ用のUSBケーブルが売っていました + 値段を見てみると何と1980円 / 何が彼をそうさせたのか。彼はどうしてこんなに高額なのか / ファミコン用の場合電圧を昇圧させる必要" 2017
  • ブックマークしていた映画ブログが軒並み無くなった - SUPERBAD-ASS

    最近、WebブラウザーをChromeから話題のArcに切り替えた。Arcは革新的ブラウザでこの凄さをいつかレビューしたいと思うんだけども、ArcはChromeと同じブラウザエンジンを使っているようで、Chromeからそのままブックマークを移行できる。 ブックマークと言っても、Chromeもよく使うWebサイトはトップに表示されていたし、最近はもう滅多にアクセスしなくなっていた。大体10年くらい前から保存していたブックマークフォルダを久しぶりに開いたら懐かしい気持ちになったのだけど、当時よくアクセスしていた映画ブログが半分くらい無くなっていて、驚きと共に寂しい気持ちになった。 僕が映画ブログを始めたのは勿論当時アクセスを多く集めていた映画ブログや個人サイトに憧れていたからだけど、当時からベテランだった映画ブロガーたちはSNSNoteが主流となってしまっていつの間にかいなくなってしまった。「

    ブックマークしていた映画ブログが軒並み無くなった - SUPERBAD-ASS
    sh19910711
    sh19910711 2024/06/06
    "10年くらい前から保存していたブックマークフォルダ / 当時よくアクセスしていた映画ブログが半分くらい無くなっていて / インターネットの隅っこの方で、映画ブロガー達の消えかけたトーチを持って走り続ける使命"
  • Rust製データベースSurrealDBの紹介 - Qiita

    はじめに この資料は、2022年7月に公開されたSurrealDBについてまとめたものです。 SurrealDB歴史 公開されてからの期間は浅いが2016年から開発が始まっている 2016年 Feb GoLangで開発開始 2017年 Jul SaaS のバックエンドDBとして運用開始 2021年 Oct Open Source として公開決定、Rustで再構築 2022年 Jul Beta.1 リリース 2022年 Aug Beta.5リリース 2022年 Oct Beta.8 リリース SurrealDB 社 2021年 Nov SurrealDB Ltd. をロンドンに設立 2023年 Jan DBaaS ために 600万ドル調達 SurrealDBが生まれた背景 大きなトレンド データベースの抽象化、クラウド、サーバーレス DBaaSを採用する企業が増えている MariaDBによ

    Rust製データベースSurrealDBの紹介 - Qiita
    sh19910711
    sh19910711 2024/06/06
    "nom: 関数を連結してインクリメンタルにパーサーを構築できる / GeoJSONの解析には geo を利用 / ローカルファイルをデータストアにするときはRocksDB + 分散DBとしての機能はTiKVやFoundationDB" 2023
  • [R]質問紙と行動指標の相関分析

    @ なんばいきん · Thursday, Dec 17, 2020 · 8 minute read · Update at Dec 17, 2020 こちらはStanアドベントカレンダー17日目の記事です。 この記事はHainesの記事を参考に作成してます。より詳細な内容を知りたい人はこっち ここでは社会・行動科学にありがちな主観指標と行動指標の相関を、生成モデルの観点から推定することを目指す。このアプローチには、 ①前提を明示的にできる ②Priorの設定をドメイン知識に合わせれる ③不確実性を定量化できる といった利点がある。 2値で回答可能な質問紙Aをとるとする。そんで反応時間のような行動指標Bもとるとする。 ここで知りたいのはこの質問紙Aと行動指標Bの相関であるとする。 よくあるのは、質問紙Aのアイテムを合計して計算する平均値と行動指標Bの平均値とかを使って相関を出す方法だ。直観的

    sh19910711
    sh19910711 2024/06/06
    "社会・行動科学にありがちな主観指標と行動指標の相関を、生成モデルの観点から推定する / 2値で回答可能な質問紙A + 反応時間のような行動指標B / ここで知りたいのはこの質問紙Aと行動指標Bの相関" 2020
  • Stan: distance sampling: Taglibro de H

    ある直線上を移動しながら、両側一定幅内で観測された目的の生物の数をかぞえます。このとき、発見した生物との距離も記録しておきます。発見率は距離に応じて減少するとします。このようなデータから、発見されなかった個体もふくめた個体数を推定します。 データをシミュレートすると、以下のようになります。 set.seed(123) ## Half-normal detection function g <- function(x, sigma) { exp(-x^2 / (2 * sigma^2)) } N <- 200 # Number of individuals sigma <- 30 # Scale parameter of half-normal detection function width <- 100 # Half-width of the transect xall <- runif

    Stan: distance sampling: Taglibro de H
    sh19910711
    sh19910711 2024/06/06
    "ある直線上を移動しながら、両側一定幅内で観測された目的の生物の数 / 発見した生物との距離も記録 + 発見率は距離に応じて減少 / このようなデータから、発見されなかった個体もふくめた個体数を推定" 2016
  • 機械学習による適応的実験計画

    ベイズ最適化と能動的レベル集合推定の基礎と実践に関するセミナー資料

    機械学習による適応的実験計画
    sh19910711
    sh19910711 2024/06/06
    "従来の実験計画: 予め実験を行う候補を列挙(実験計画法) + 候補条件に対しては網羅的に実験 / 不確実性: 適応的実験計画に有用な情報をもたらす + 知識不足に起因(データ不足) or 偶然変動(ノイズ)" 2023
  • 【論文】Deformable Convolutional Networks (2017) - Qiita

    [1703.06211] Deformable Convolutional Networks メタ情報 ICCV 2017 oral paper Microsoft Research Asia 著者実装 日語による解説 (見つけられた範囲で) Deformable Convolutional Networks Active Convolution, Deformable Convolution ―形状・スケールを学習可能なConvolution― 機械学習論文読みメモ_108 - Qiita 概要 質的に、CNN はその構造上、幾何的な 1 変換処理に制限されている その欠点を克服するために、 deformable convolution と deformable RoI pooling を提案する 物体検出と semantic segmentation のタスクで結果を検証する 導入

    【論文】Deformable Convolutional Networks (2017) - Qiita
    sh19910711
    sh19910711 2024/06/06
    "CNN: 畳み込みも pooling も固定された位置に対する処理なので、幾何的な変形に対して弱い / 畳み込みに学習可能な2Dオフセットを導入 / 学習済みモデルに deformable の offset field を入れて追加で学習 + ただし細々した調整" 2018
  • Chainer ⇒ PyTorch移行を試してみた - Qiita

    今週、PFNよりChainerの開発を停止するという発表があって驚きました。 Chainer/CuPy v7のリリースと今後の開発体制について 深層学習・機械学習Pythonの素人でしたが、深層学習ブームの中、2015年の秋くらいから使い始めて、Chainer meetup(#3,#8)でも発表させて頂きました。 新しい機能もあまり使っていなかったので、しらばくこのままChainerを使い続けることもできますが、これを機にPyTorchを一度試してみました。 公式の移行ドキュメントを見ると、関数の対応など書いてあり、とても参考になります。 Chainer ⇒ PyTorchへの移行ドキュメント(公式) 以下は個人的な移行時のメモとして置いておきます。 PyTorch インストール OS: Windows 10, ubuntu 18.04 GPU: RTX 2080 python 3.7(

    Chainer ⇒ PyTorch移行を試してみた - Qiita
    sh19910711
    sh19910711 2024/06/06
    "似ているので関数の対応を確認して複数あるところは置換使ってというのを地道に続ければOK / Chainerがなかったら深層学習の世界に入ることはなく、普通のサラリーマンを続けていたかもしれません" 2019
  • アメリカ気象局の天気図の前線描画を学習させたSemantic Segmentationのニューラルネットワークに、日本付近の前線を自動解析させるまで - Qiita

    アメリカ気象局の天気図の前線描画を学習させたSemantic Segmentationのニューラルネットワークに、日付近の前線を自動解析させるまでPythonDeepLearningWeathergrib2SemanticSegmentation アメリカ気象局の天気図の前線描画を学習させたSemantic Segmentationのニューラルネットワークに、日付近の前線描画をさせるまで 1. はじめに しばらくアメリカ暮らしをすることになりました。日で使っていたパソコンも無事移設することが出来ましたので、せっかくの機会ですからアメリカの気象データを使って機械学習をやってみました。まずは「気象可視化画像から前線を自動描画する」を試しました。また、このネットワークに日付近の前線解析をさせてみました。アメリカ流の気象データ解析(前線を検知して描画する)を学習して、日のデータを解析して

    アメリカ気象局の天気図の前線描画を学習させたSemantic Segmentationのニューラルネットワークに、日本付近の前線を自動解析させるまで - Qiita
    sh19910711
    sh19910711 2024/06/06
    "性質の異なる空気の接するところ / 実際の気象場の中にはそういうところは沢山あって、それら全てに前線記号をつけていくわけではありません / どれにどう線を描いていくのかは各国の気象機関によって異なり" 2023
  • Azure AI Studioが一般公開(GA)されたので早速色々使ってみました! - CCCMKホールディングス TECH Labの Tech Blog

    こんにちは、CCCMKホールディングス TECH LABの三浦です。 いつの間にかこの会社に勤めて10年が経っていました。10年前はニューラルネットワークやディープラーニングが少しずつ浸透してきたころで、従来の機械学習とは何が違うのか、といったことを調べていた気がします。あれから10年、ディープラーニングの分野ではTransformerが生まれ、いつの間にか人の思考を代理でこなしてくれるようなAIまで誕生し、技術の進化のスピードにびっくりします。次の10年はどうなるんだろうと色々と考えてしまいます。 さて、今年に入ってからずっと楽しみにしていたのですが、ついにMicrosoftのAzure AI Studioが一般公開(generally available)になりました! 今年一番最初に見た動画がAzure AI Studioのデモ動画で、それがとても面白い内容でずっと気になっていました

    Azure AI Studioが一般公開(GA)されたので早速色々使ってみました! - CCCMKホールディングス TECH Labの Tech Blog
    sh19910711
    sh19910711 2024/06/06
    "Model catalog: ローカルで動かせるものを含めて現時点で1,600以上のモデル / それを動かすためのコンピューティングリソースを含めてその場でデプロイ / 基本形のRAGの処理であればコードを書かなくても作ることが ~ "
  • QEMUに似たRenodeというOSSの組込みデバイスエミュレータを試す - daisukeの技術ブログ

    今回から、Renode というオープンソースの組込みデバイスのエミュレータを試していきます。 簡単に言うと、QEMU と同じ位置付けの OSS です。QEMU よりも、組込みデバイスのサポートが充実しているようです。 それでは、やっていきます。 はじめに Renodeのインストール mono-completeのインストール 依存関係のパッケージインストール Renodeのダウンロードとインストール STM32で動作確認 サンプルソースのビルド 実行してみる おわりに はじめに 「QEMUを動かす」の記事一覧です。良かったら参考にしてください。 QEMUを動かすの記事一覧 ・第1回:STM32(ARM Cortex-M)をQEMUで動かす(環境構築編) ・第2回:STM32(ARM Cortex-M)をQEMUで動かす(ソースコード確認編) ・第3回:STM32(ARM Cortex-M)を

    QEMUに似たRenodeというOSSの組込みデバイスエミュレータを試す - daisukeの技術ブログ
    sh19910711
    sh19910711 2024/06/06
    "Renode: オープンソースの組込みデバイスのエミュレータ + QEMU よりも、組込みデバイスのサポートが充実 / QEMU は、CCMデータRAM に対応していませんでしたが、Renode は、設定を追加するだけで対応"
  • raapがrbsで使われ始めた - スペクトラム

    RBSをテストコードにするツールraapがrbsリポジトリで使われ始めた。 Introduce RaaP for testing of signature by ksss · Pull Request #1810 · ruby/rbs · GitHub rbsのCIでraapを走らせている。 現状はSet classでしか使っていないが、これから範囲を広げていきたい。 経緯 raapを作っていたら、「これはRBS::UnitTestを自動化するツールだな」と思い始めてきた。 テストコードを手で書くより、自動で100パターン実行してくれた方が、管理するものが減って、人間の思い込みを排除した確認ができ、早く、変更にも強い。 もともとrbsリポジトリに置かれた記述されたRBSファイルに対するテスト("RBSの記述は正しいか"を確認するコード)は結構カバレッジが低い部分もあり、これを埋めたかった。

    raapがrbsで使われ始めた - スペクトラム
    sh19910711
    sh19910711 2024/06/06
    "型をテストにするという切り口 / テストコードを手で書くより、自動で100パターン実行してくれた方が管理するものが減って人間の思い込みを排除した確認ができ早く変更にも強い"
  • アウトプットのハードルを下げたくなってパブリックの Scrapbox を運用し始めた - 桐生あんずです

    scrapbox.io 先週くらいからパブリックの Scrapbox を作ってほぼ毎日ミニブログっぽいものを更新している。 このブログでやっても良いのだけど、なんとなくアウトプットのハードルが上がっている気がして初歩的な知見や悩み事についてあまり書けずにいた。完全に自分の気持ちの問題ではあるのだが……。 プライベートの日記で何かを書くことは続けているけれど、もうちょっと人の目に触れる場で発信するのを意識してもいいだろうとは考えていてじゃあ今更だけどパブリックの Scrapboxを作るかという発想に至った。 個人的に雑に何か調べ物をする時に知り合いの Scrapbox の知見メモ的な記事を見つける瞬間がなんだか好きで、そういう遭遇が自分のScrapbox でもあったらいいなあという思いがちょっとある。 こうやってパブリックの Scrapbox で書き溜めていると、これはブログでも出してもよい

    アウトプットのハードルを下げたくなってパブリックの Scrapbox を運用し始めた - 桐生あんずです
    sh19910711
    sh19910711 2024/06/06
    "ブログ: なんとなくアウトプットのハードルが上がっている / Scrapbox の知見メモ的な記事を見つける瞬間がなんだか好きで、そういう遭遇が自分のScrapbox でもあったら ~ "
  • gradioでつくる簡易ダッシュボード

    はじめに みなさん。Splatoon3遊んでいますか。私は昨年9月の発売以来、かなり熱心に遊んでいます[1]。単に遊ぶだけでなく、なるべく勝てるように、つまり上達できるように努力しています。 最近は試合の結果を記録して分析し、上達に役立てたいと考えるようになりました。スプラトゥーンというゲームをご存じない方のために簡単に説明すると、スプラトゥーンにはナワバリバトルを含め全5種のルールがあり、ステージは2023年12月時点で全22種類存在します。 それぞれのステージには、防衛の要となる箇所や攻めの起点を作るために抑えたいキーポイントがあり、勝率を上げるためにはこうしたステージごとの戦略の研究は欠かせません。しかし全ステージについて研究するのは大変なので、なるべく勝率の悪いステージから対策したいところです。 任天堂が提供する公式アプリ「イカリング3」でも、ステージごとの勝率は確認できますが一覧

    gradioでつくる簡易ダッシュボード
    sh19910711
    sh19910711 2024/06/06
    "試合の結果を記録して分析し、上達に役立てたい / Gradio: Hugging Faceが中心となって開発 / データフレームを表形式で表示できたり、matplotlibのグラフをそのまま表示できたり" 2023
  • Raspberry PiのGPUで数値計算: (2)QPUの特徴 - Qiita

    http://qiita.com/Terminus-IMRC/items/7406fa835d6510790406 の続きです. QPUコア 前回説明した通り,QPUはVideoCore IV内に存在するプロセッサです./boot/config.txtで指定されたgpu_freqの周波数で動きます.デフォルトではRaspberry Pi 1,2では250MHz,Raspberry Pi 3では400MHzです.QPUは物理的に3*4=12基あり,その中に物理的に4コアあり,それぞれのコアが4クロックで4コアをエミュレートします.すなわち,QPU全体をみるとgpu_freq/4=62.5または100MHzで動作する仮想的なコアが12*4*4=192個存在することになります.後述の通り,ALUが1命令で32ビットの加算と乗算を同時に行えるので,192*2*62.5=24000または192*2*

    Raspberry PiのGPUで数値計算: (2)QPUの特徴 - Qiita
    sh19910711
    sh19910711 2024/06/06
    "QPU: /boot/config.txtで指定されたgpu_freqの周波数で動き + デフォルトではRaspberry Pi 1,2では250MHz,Raspberry Pi 3では400MHz / 物理的に3*4=12基あり,その中に物理的に4コア" 2016
  • Raspberry Pi経由でドリキャスをネット接続可能にするDreamPi試してみた - はじまりはビープ音

    当時としては革新的だったネット接続環境(モデム)を標準搭載したドリームキャスト。あれから20年以上経ち、ドリキャス用の各種ネットサービスも当然終了しているわけですが、海外有志によってRaspberry Piとドリキャス標準搭載のモデムを活用して今でもオンライン機能を楽しむことができるとのことで試してみました。自己責任。 DreamPiとは 準備するもの Raspberry Pi側の設定 有線LANで使用する場合 Wi-Fiで使用する場合 ドリームキャスト側の設定 ネットワーク情報登録済みの場合 準備するもの 手順 ネットワーク情報未登録の場合 準備するもの 手順1.ブロードバンドアダプタで設定 手順2.ドリームパスポート3.15内蔵ソフトで設定 インターネットに接続 Raspberry Piとドリキャスを接続 ドリームキャストでインターネット接続 接続できない場合 ネット対戦を楽しむ 最後

    Raspberry Pi経由でドリキャスをネット接続可能にするDreamPi試してみた - はじまりはビープ音
    sh19910711
    sh19910711 2024/06/06
    "海外有志によってRaspberry Piとドリキャス標準搭載のモデムを活用して今でもオンライン機能を楽しむことができる / DreamPi: ドリームキャストのモデム接続をRaspberry Piを使うことでLAN経由でネット接続" 2020
  • [AWS Step Functions] ステートマシンが無限ループして148ドルも課金が発生した話 | DevelopersIO

    懺悔します こんにちは、のんピ(@non____97)です。 私はここに「ステートマシンを無限ループさせて148ドルも課金が発生してしまった」ことを懺悔します。 いきなりまとめ 検証だからといって雑なEventBridgeのイベントパターンを設定するのはやめよう 何が起こったか ステートマシンが無限ループして148ドルも課金が発生しました。 ここで、クラスメソッドメンバーズ向けポータルサイト「クラスメソッド メンバーズポータル」で、AWS利用料金を確認してみましょう。 まずは明細です。 $148.67のインパクトが凄まじいですね。 USE1-StateTransitionとAPN1-StateTransitionについての課金が大半を占めています。AWS Step FunctionsのStandardワークフローではステートマシンの状態遷移によって課金が発生します。 今回はus-east-

    [AWS Step Functions] ステートマシンが無限ループして148ドルも課金が発生した話 | DevelopersIO
    sh19910711
    sh19910711 2024/06/06
    "us-east-1とap-northeast-1合わせて5,946,978回の状態遷移 / EventBridgeのイベントパターンが雑すぎた / 「ステートマシンの実行が成功/失敗した」というイベントもデフォルトのイベントバスに送信され" 2022
  • DifyをCloudRunとsupabase、upstashを使ってほぼ無料でデプロイする方法

    DifyはDBにpostgres、キャッシュにRedisを使っている。 また、ベクトルDBは複数選択可能ではあるが、Postgresのvectorを使うことも可能なので、postgresで統一させちゃう。 これらをRDSとかで立てようとするとイニシャルで料金がかかってしまうので避けたい。 supabaseはPostgresを安価に、upstashはRedisを安価に使えるので、これらを使う。 まず、supabaseとupstashでアカウントを作成し、DBを作成する。 作成するうえで特に困ることはないので、そのままコンソールをポチポチするだけでOK supabase: https://supabase.com/ upstash: https://upstash.com/ 作成するとHOSTやpasswordなど必要な情報がコンソールに表示されるので、それをdifyのdocker-compo

    DifyをCloudRunとsupabase、upstashを使ってほぼ無料でデプロイする方法
    sh19910711
    sh19910711 2024/06/06
    "Dify: ベクトルDBは複数選択可能ではあるが、Postgresのvectorを使うことも可能 / supabaseはPostgresを安価に、upstashはRedisを安価に使える / CloudRunのマルチコンテナを使う"
  • ポータブルなCI/CD Daggerを試してみる - What is it, naokirin?

    的に継続的な開発を行っていく上で、CI/CDは避けて通れなくなっています。CI/CDといえば、これまでも様々なツールやサービスがありました。 クラウドの発展やインフラ環境の変化などもあり、個々の特性を生かした機能やサポートなどを持つツールやサービスが生まれてきています。 OSSで基的に自身で環境を構築する汎用ツール:Jenkinsなど CI/CD専用のSaaS:Circle CI、Travis CI、AWS Codeシリーズ、Google Cloud DevOps、GitHub Actionsなど クラウドやKubernetes環境向けのCD:Spinnakerなど アプリケーション実行環境とCDがセットになったPaaS:GAE、AWS Beanstalkなど 一方、この各ツールやサービス間で移行することになると、複雑になりがちな設定の書き換えや、特定ツールのサポートやプラグインに乗

    ポータブルなCI/CD Daggerを試してみる - What is it, naokirin?
    sh19910711
    sh19910711 2024/06/06
    "ポータブルなCI/CDの抽象レイヤーとして、Dockerの開発者が新たにDaggerというプロダクトを作成 / 特徴的なのは、CIのConfigurationをCUEで記載する点 / 覚えることはYAMLやJSONに他に比べるとそこそこ多い印象" 2022
  • ブが書けなくなった - yapattaのブログ

    ブログが書けなくなった。 書きたい文章が書けなくなったこと、細かい心理描写を上手にできなくなったこと、それすらも文章にすればブログ記事を少しは書ける気がしてきた。前に進める気がした。 普段ブログを書くときの大まかな流れは、何かしらを経験しその結果感情が揺さぶられて、頭の中からどんどん文章が生成されるというものだった。 逆に言うと、最近日常に起こっていたことがブログにするほど面白くないことなのかもしれない。 ただそれはおかしい。面白い話題は思い出せばあるはずなのだから。。 つい2週間前にはインド旅行をし、アグラという観光地で無事にぼったくりに遭遇した。俺たちは一人4000円の布を買わされた挙げ句、その布をモスクにお供えさせられた。結局残った物は何も無かった。ただガイドと露天商が結託して俺たちを帰させない戦略が一枚上手だったということが分かった。このお供えは貧しい人のためだとか露天商は言いなが

    ブが書けなくなった - yapattaのブログ
    sh19910711
    sh19910711 2024/06/06
    "フォーマットは何であれ、自分の所感を文章として残すと、自分が感じていることを信じることができるのだと再実感した / 傲慢と善良は言わずもがな婚活の渦中の心理をこれでもかと思えるほど炙り出した小説"
  • Stockmark-100b: ビジネスドメインに対応した1000億パラメータ規模の大規模言語モデルの事前学習 - Stockmark Tech Blog

    ストックマークは最近、ビジネスドメインに対応した1000億パラメータ規模の大規模言語モデルであるStockmark-100bの開発を行い、事前学習モデルと指示学習モデルをオープンソース(MITライセンス)として公開しました。この記事では事前学習における弊社の取り組みを紹介させていただきます。 プレスリリース: stockmark.co.jp 事前学習モデル: huggingface.co 指示学習モデル: huggingface.co 背景 2024年2月に国立研究開発法人新エネルギー・産業技術総合開発機構(NEDO)が実施する「ポスト5G情報通信システム基盤強化研究開発事業/ポスト5G情報通信システムの開発」に採択されました。これは、経済産業省の国内の生成AIの開発力強化を目的としたGENIACプロジェクトと連携して行われており、国内事業者に対して生成AIの開発に必要な計算資源の確保と利

    Stockmark-100b: ビジネスドメインに対応した1000億パラメータ規模の大規模言語モデルの事前学習 - Stockmark Tech Blog
    sh19910711
    sh19910711 2024/06/06
    "独自に収集しているWebページや特許のデータを用いて ~ / Megatron-LM: 古くから使われているレガシーな実装と、最近の世代のGPUでTransformerの演算の効率性を高めるライブラリであるTransformerEngineを用いた実装の二種類"
  • エミュレータで遊ぶ心構え : プログラミング指南 - Code Knowledge

    エミュレータによる昔のゲームを動作させるのが、こっそり(堂々と?)流行っているように思います。昔のゲームは今のゲームと比べても、単純で面白いと思う人も多く、愛用者も多くいると思います。そりゃ今のゲームだってスイカゲームのような単純で面白いのはたくさんありますが、今までお世話になってきた、歴史のようなゲームたちとは時々思い出したように遊びたくなるっていうものです。 さて、最近、Yuzuというエミュが訴えられたという報道にもあるように、このエミュレータに関しては、その使い方を間違えると法律違反となるケースが出てきます。以下は私が考えるエミュを正しく使う方法です。 エミュそのものが著作権を侵害していないエミュの動作対象の実機を保有している※1エミュの動作に必要なROMを実機から自分で吸い出してる※1動作させるゲームの実物を所有してる※2動作させるゲームのROMを自分で吸い出してる 例えば、エミュ

    エミュレータで遊ぶ心構え : プログラミング指南 - Code Knowledge
    sh19910711
    sh19910711 2024/06/06
    "実機は殆どが経年によりかなり劣化 / レトロPC用の新作ゲームを作っている場合は、通常開発時はエミュを使用したクロス開発環境のほうが何倍も…、いや、何十倍、何百倍も開発効率が良い"
  • 『Go言語プログラミングエッセンス』を読み始めた - Magnolia Tech

    Go言語プログラミングエッセンス エンジニア選書 作者:mattn技術評論社AmazonGo言語プログラミングエッセンス』、C言語の勉強に役立つなぁ(?)— magnoliak🍧 (@magnolia_k_) 2023年3月11日 普段、Go言語のコードを書くことは無いのだけど、ざっと読むくらいのスキルは身につけておきたいなーと思って、『Go言語プログラミングエッセンス』を読み始めた。 単に言語の仕様とか、ツールの使い方を知りたいだけならば公式ドキュメントを読んで、他の人のコードを読んで、実際に書いてみればいいのだけど、このではしつこいくらいに、「他の言語との比較」や、「仕様が決まった背景」が語られている。 変数や関数の定義の記述順に関しては、わざわざC言語の構文解析の難しさを図を使ってまで説明した上で、「一方、Go言語ではこうなっている」と説明されてとても分かりやすかった。 この

    『Go言語プログラミングエッセンス』を読み始めた - Magnolia Tech
    sh19910711
    sh19910711 2024/06/06
    "この本ではしつこいくらいに、「他の言語との比較」や、「仕様が決まった背景」が語られている / 変数や関数の定義の記述順に関しては、わざわざC言語の構文解析の難しさを図を使ってまで説明" 2023
  • GitHub Actionsにおける脅威と対策まとめ

    はじめに こんにちは、サイボウズ24卒の@yuasaです。 サイボウズでは開発・運用系チームに所属する予定の新卒社員が研修の一環として、2週間を1タームとして3チームの体験に行きます。新卒社員の私が生産性向上チームの体験に行った際に、チーム内でGitHub Actionsを利用する際の脅威と対策について調査を行い、ドキュメント化した上で社内への共有を行いました。記事では、そのドキュメントの一部を公開します。 対象読者 記事の主な対象読者としては、以下のような方を想定しています。 GitHub Actionsを組織で利用しているが、特にセキュリティ対策を実施していない方 GitHub Actionsを組織で利用しており、部分的にセキュリティ対策を実施しているが、対策が十分かどうか分からない方 記事がGitHub Actionsのセキュリティ対策を検討する上で参考になれば幸いです。

    GitHub Actionsにおける脅威と対策まとめ
    sh19910711
    sh19910711 2024/06/06
    "脅威マトリクス: 多数存在する脅威とその対策を網羅 + その脅威がCI/CDのどの箇所で生じるか、どの箇所に影響を与えるかといったことを整理する / Permissionsはできる限りジョブ単位で管理"
  • Vertex AI PipelinesとKubeflow Pipelinesはじめの一歩 | DevelopersIO

    Vertex AI Pipelinesを全く使ったことがない人向けに、Kubeflow Pipelinesのはじめ方からまとめてみました。 データアナリティクス事業機械学習チームの鈴木です。 この記事は、ブログリレー『Google CloudのAI/MLとかなんとか』の1目の記事になります。 そろそろVertex AIもマスターしないとなと思い、Vertex AI Pipelinesをキャッチアップしています。同僚のじょんすみすさんが以前に以下の『Vertex AIではじめるKubeflow Pipelines』を公開してくれていました。 私はBigQueryなどのデータ分析系のサービスの経験が厚く、Vertex AI PipelinesおよびKubeflow Pipelinesを触るのが初めてだったため、Kubeflow Pipelinesとはなんぞやから始める必要がありました。

    Vertex AI PipelinesとKubeflow Pipelinesはじめの一歩 | DevelopersIO
    sh19910711
    sh19910711 2024/06/06
    "Vertex AI Pipelines: パイプラインを定義するYAMLファイルをローカルで生成 + Kubernetesを構築しなくてもKubeflow Pipelinesを実行できるという強力なサービス / DSLからIR YAMLに変換しVertex AI Pipelinesにアップロードすれば実行できる" 2023
  • AWSでKubernetes The Hard Wayをやってみた - Qiita

    概要 https://github.com/kelseyhightower/kubernetes-the-hard-way 2024/4/6に約3年ぶりのアップデートがあった。 以前はGCP環境が前提の手順となっていたが、そのアップデートでクラウドプロバイダ問わずの手順に変わっていたのでAWS環境で実践してみた。 なおOSはDebian 12 (bookworm)が前提となっていたが、わずかでも独自性を出すべくAmazon Linux 2023を使用している。 結果 手順が十分以上に整備されていることもあり、完走するだけならほぼコマンドをコピペするだけで事足りた。 そのため過程について記述することは特段なかったが、備忘のため2点だけ注意点を書き残す。 ①configs/encryption-config.yamlが存在しない 2024/6/6時点ではconfigs/encryption-c

    AWSでKubernetes The Hard Wayをやってみた - Qiita
    sh19910711
    sh19910711 2024/06/06
    "Kubernetes The Hard Way: 約3年ぶりのアップデート + 以前はGCP環境が前提の手順となっていたが、そのアップデートでクラウドプロバイダ問わずの手順に変わっていた / 完走するだけならほぼコマンドをコピペするだけ"
  • vuejs/core のソースコードを探検する楽しさ

    はじめに フロントエンドエンジニアのhiroです。 エンジニアになって半年が過ぎました。 表題にあるとおり、この記事では vuejs/core のソースコードを探検してみたいと思います。 ソースコードの探検が目的のため、実装の詳しい解説自体は行いません。あらかじめご了承ください。 目的 記事はubugeeeiさんの素晴らしいであるchibivueに出会い、ubugeeeiさんご人にVueについて直接教えて頂き、Vueのソースコードに興味を持ったことがきっかけで執筆しています。chibivueVueの基的な機能を自分で実装することで、Vueについての理解を深め、vuejs/coreのソースコードが読めるようになることを目的とされているです。 エンジニア経験の浅い私にとってVueのソースコードを理解することは難しいですが、全部が理解できなくてもなんとなく 「こういう実装になっている

    vuejs/core のソースコードを探検する楽しさ
    sh19910711
    sh19910711 2024/06/06
    "chibivue: Vueの基本的な機能を自分で実装することで、Vueについての理解を深め、vuejs/coreのソースコードが読めるようになることを目的とされている本 / ソースコードと見比べて + ドキュメントの解説を改めて読んでみる"
  • testing-library でユーザの気持ちになって書くフロントエンドのテスト

    TL;DR フロントエンドのテストが壊れやすく要因の一つは、ユーザがどのようにソフトウェアを使うかをクエリに反映できていないからかも testing-library はソフトウェアを使うユーザの気持ちを反映させやすいようにクエリの優先度をつけていて、それに従うほうがいい 優先度の低いクエリも役に立つことがある 運用しているアクセシビリティなどの実装のガイドラインに沿うようなテストを作るとき アクセシビリティの低い実装をリファクタリングするためのテストを作るとき はじめに フロントエンドのテストに用いるツールとして testing-library が知られています。testing-library は提供しているクエリに優先度をつけています。この優先度は、どういう基準でつけられているのでしょうか。 この記事では、 testing-library のガイドを読みながら、クエリの優先度を「ユーザの

    testing-library でユーザの気持ちになって書くフロントエンドのテスト
    sh19910711
    sh19910711 2024/06/06
    "フロントエンドのテストが壊れやすかったり理解するのが難しくなったりする場合 ~ 要素の取得をシミュレートすることに躓いていることが多い / 「自分がユーザとしてどのような気持ちでサービスを使うか」を考える"
  • 生成UIで変わるのは作業効率化だけではない

    AppleGoogleが見据える生成UIの世界AIを活用した今後のUIデザインを考察する上で、プラットフォームを開発するAppleGoogleの動向は注目です。両社ともマルチモーダル大規模言語モデル(Multimodal Large Language Model / MLLM)の研究を進めており、その成果が公開されています。 Recent advancements in multimodal large language models (MLLMs) have been noteworthy, yet, these general-domain MLLMs often fall short in their ability to comprehend and interact effectively with user interface (UI) screens. In this p

    生成UIで変わるのは作業効率化だけではない
    sh19910711
    sh19910711 2024/06/06
    "Ferret-UI: モバイルアプリのUIを自動的に分析し、アクセシビリティや使いやすさの観点から改善案を提示 + Apple が開発 / アクセシビリティ、ユーザビリティ、一貫性の問題についてUIデザインの自動監査ができる"
  • Reactのコードを打ち込むタイピングゲームを作った話&個人開発の流れ

    はじめに 自己紹介 こんにちは、株式会社ソーシャルPLUSのフロントエンドエンジニア @zomysan です。 ソフトウェアエンジニアとしての経験は10年と少しで、趣味個人開発べることです。直近では Discord の読み上げ Bot「shovel」のWebインターフェイス(マイページ)機能・有償プランなどを作りました。 この記事について 個人開発でタイピングゲームを作ったので、それについて前半・後半に分けて話します。 前半では作ったタイピングゲーム技術選定の理由や 何を大事にして作ったのか? ということを紹介します。 後半は今回の開発を実例として、私が開発をするときの進め方について紹介します。誰にでも合うものではないかもしれませんが、少しでも参考になれば嬉しいです。 ゲームの紹介 tstt で遊びながら学ぼう! TypeScript Touch Typing 略して tstt と

    Reactのコードを打ち込むタイピングゲームを作った話&個人開発の流れ
    sh19910711
    sh19910711 2024/06/06
    "コードスニペットが出てくるので、ひたすら打ち込み / 例とぴったり同じである必要はなく、TypeScriptとしてだいたい正しければOK / 経過時間なども表示せず、今打ち込むべきコードだけを表示する"
  • Cloudflare Pages + D1 + Honoでプロフィールサイトを作ってみた

    初めまして。 BtoBマーケの領域でプロダクト開発をしているエンジニアです。 仕事ではGoReactGoogle Cloudあたりを使っています。 最近Cloudflareが楽しくて触っているのですが、Honoを使って前々から作りたかったプロフィールサイトとブログページを作成してみました。 完成したサイトはこちらです。 私の名前の姓をそのまま英語にしたドメインを取得しました。 (まぁ悪くないかなと思ってます) 作成したサイトは以下のレポジトリで公開しています。 簡単にどのような形で作ったかを綴っていきます。 技術スタック 以下の技術スタックで作成しました。 Cloudflare Pages D1 Hono Hono プロジェクトの立ち上げ HonoにCloudflare Pages用のスターターが用意されているので、そちらを利用させて頂きました。 Honoのドキュメントは非常に分かりや

    Cloudflare Pages + D1 + Honoでプロフィールサイトを作ってみた
    sh19910711
    sh19910711 2024/06/06
    "Cloudflare D1: 4月にGA + 5GBまで無料 / デプロイ: Cloudflare Pageのアプリケーション作成ページから、GitHubレポジトリと連携させれば終わり / 自動的にデプロイが走るようになるので、GitHub ActionsなどのCIを作る必要はありません"
  • プロンプトを5倍圧縮できる「LLMLingua-2」

    導入 こんにちは、株式会社ナレッジセンスの須藤英寿です。普段はエンジニアとして、サービスのシステム開発を行なっています。サービスではLLMを使用したチャットのサービスを提供しており、とりわけRAGシステムの改善は日々の課題になっています。 記事では、入力するプロンプトの圧縮を効率的に行うための技術、LLMLingua-2について解説します。 LLMLingua-2は、いくつかの手法を組み合わせることによって、品質を下げないままプロンプトを圧縮してくれます。 サマリー LLMLingua-2は以下の方法で、情報の欠落を抑えた上でプロンプトのトークン数を大幅に減らすことに成功しています。 ターゲットとなるLLM(GPT-4など)にプロンプトの圧縮タスクを行なってもらう そのデータを基に入力したプロンプトを構成するトークンの不要、必要を判断する機械学習モデルを作成する 入力に対して上記機械学習

    プロンプトを5倍圧縮できる「LLMLingua-2」
    sh19910711
    sh19910711 2024/06/06
    "LLMLingua-2: ターゲットとなるLLM(GPT-4など)にプロンプトの圧縮タスクを行なってもらう + そのデータを基に入力したプロンプトを構成するトークンの不要、必要を判断する機械学習モデルを作成"
  • LLMによるLLMの評価(LLM as a judge)の精度改善のための試行錯誤〜評価分割・モデル間比較

    LLM-as-a-Judgeとは LLMをアプリケーションに組み込んでいると、LLMの出力を評価する必要が出てきます。 LLMの「出力は確率的である(毎回異なる)」ためです。 また、LLMの出力はハルシネーションを含む可能性がありますし、間違いではないにしてもサービス提供者の意図とは違った出力をエンドユーザーに提示してしまうかもしれません。 LLMの出力を評価して、出力が適切でないことを判定できれば、ユーザーには表示しない、出力を再度行わせる(出力をLLMに修正させるのもよいでしょう)というようなことができるようになります。 ただし、LLMのすべての出力を人が評価していたのでは、手が回りません。 そこで、注目されているのが、LLM-as-a-Judgeと呼ばれるLLMにLLMの出力を評価させる手法(以後、単に評価と呼ぶ)です。 評価にLLMを使えば、出力をすぐに評価し、評価結果をアプリケー

    LLMによるLLMの評価(LLM as a judge)の精度改善のための試行錯誤〜評価分割・モデル間比較
    sh19910711
    sh19910711 2024/06/06
    "LLM-as-a-Judge: LLMにLLMの出力を評価させる / GPT-4 Turboが最も精度が高いという結果 + 私たちの記述するプロンプトがGPT-4 Turboに最適化されているためにGPT-4 Turbo以外は、本来のポテンシャル以上に精度が低くなっている"
  • 最小二乗法でシステム同定やってみた - Qiita

    はじめに 私が制御工学を学び始めたとき、「これを学んでいけばモータを自由に制御できるようになるのか!」と思い、古典制御、現代制御と勉強を続けましたが、「これってモデルがある前提で説明してくるけど、そもそもモデルってどうやって求めるの?」という疑問が湧きました。制御工学を学んでいる人でもこういった疑問を持つ人は多いのではと思ったので、今回は実際に水平1軸アームシステムを対象に、システム同定を行い、モデルの妥当性を簡単に評価したいと思います。 目次 1. システム同定とは 2. 水平1軸アームシステムのモデル 3. 同定入力の選定 4. システム同定の手法 5. システム同定 6. モデルの妥当性評価 1. システム同定とは 制御工学を勉強してPID制御やら最適レギュレータやら様々なコントローラ・オブザーバの設計方法を知ると思います。しかしそれらを設計するとき、必ず必要になるのが数学モデルです

    最小二乗法でシステム同定やってみた - Qiita
    sh19910711
    sh19910711 2024/06/06
    "システムに適当な入力を与え、その出力を観測することで、入出力間の関係を表す数学モデルを決定する / 教科書や授業ではさらっと「モデルのパラメータはこうなっています」、と流されることが多い"
  • Pythonを使って固定視点画像からデジタル数字を抽出する

    はじめに 測定中の装置の様子をウェブカメラなどを使ってリモートで監視しているときに、せっかく監視してるんだからくディスプレイに表示されている数字くらい記録しておきたいと思うことがあります1。これを実現する最も簡単な方法は一定時間ごとの画像取得です。しかし、残された大量の画像から異常や特定期間の様子を探し出すのは少し骨が折れます。「うまいこと数字を抽出してログデータにできたらな…」と一度くらいは思ったことのある方が多いのではないでしょうか。固定視点の画像からたった10種類の数字を判別するだけです。数字の位置を定義して0-9までの雛形のどれに当てはまるか判定していけばできそうです。機械学習など必要ないでしょう。しかし、実際やるとなるといろいろと細かい点でつまずきそうで、なかなか手を出しにくいタスクではあります。この記事では、Pythonを使って非常に単純な仕組みで大量の固定視点画像から数字を抽

    Pythonを使って固定視点画像からデジタル数字を抽出する
    sh19910711
    sh19910711 2024/06/06
    "単純に二値化と言っても、実際の画像を扱ってみると望ましい結果を得るにはいろいろと試行錯誤が必要なことがわかり / 二値化後のノイズ除去や整形に使うモルフォロジー変換(変換の種類とカーネルの形状)" 2018
  • 「自宅ネットワーク超入門」の勉強会でLTしてきました。 - てんこ

    昨日、3/22(水)にニフクラさんの「自宅ネットワーク超入門」という勉強会が開催されました。 そちらで、超ひさしぶりにLT枠で参加させていただきましたので、その内容を記録しておきます。 イベントURL イベントのURLはこちらから。今回で58回!継続は力ですね。 fujitsufjct.connpass.com LTで使った資料 当日、私の枠でお話させていただいた際の資料がこちらになります。 speakerdeck.com 感想など 勉強会のコンテンツについて 冒頭の宮原さんのネットワークに関するおさらいに始まり、 富士通クラウドテクノロジーズの山口さん(ニフクラの中の人)、ニフティの山田さんと、徐々にコンテンツの中身がマニアック?になっていくのをニヤニヤしながらみていました。 やっぱり、ネットワークやってても行きつくところは仮想基盤やラズパイですよねw あとは、パケットキャプチャを読む力

    「自宅ネットワーク超入門」の勉強会でLTしてきました。 - てんこ
    sh19910711
    sh19910711 2024/06/06
    "ネットワークやってても行きつくところは仮想基盤やラズパイ / パケットキャプチャを読む力の重要性 + 少しでもキャプチャを読むことを楽しめる人が増えることを心から願っています" 2023
  • ひとりSlackとA4ホワイトボードによる新しいノートの取り方の提唱 - たかくんの成長

    今までのノート論 ひとりSlack ホワイトボードのメリット、デメリット ひとりSlackとホワイトボードのコンビネーション まとめ 今までのノート論 高校時代、自分はあまりノートを取らずに過ごしてきた。より正確に言えば、黒板を丸写しするようなノートはあまり取らないようにしていた。世の中には、ノートを取ることは良いことである、いやいやそれはまったくの間違いでただの時間の無駄である。などと様々な議論があるようだが(これはやや極端だが)、実は自分のこれには大層な理由はない。言うなれば、黒板を丸写しにすることによって先生の考え方、思考に100%従順になってしまうことへのささやかな反抗、という気持ちと、文字を書き写している最中にはどうやら思考力が激減しているようだという実感とが組み合わさっているように思う。 では、大学生になってどうするようになったのかというと、実は最近までどういうスタイルで行くべ

    ひとりSlackとA4ホワイトボードによる新しいノートの取り方の提唱 - たかくんの成長
    sh19910711
    sh19910711 2024/06/06
    "普段使いのノートをホワイトボードで代用する / A4という限られたスペース: スペースが限られている分、書き込む内容をしっかりと厳選、吟味することになる / 数式や図形を手軽に書けるというのも大きい" 2018
  • 手を動かさないインシデント対応〜自動化で迅速・正確な運用を目指す〜

    インシデントマネジメント 事態収拾のための取り組みに迫る Lunch LT でお話しした資料です

    手を動かさないインシデント対応〜自動化で迅速・正確な運用を目指す〜
    sh19910711
    sh19910711 2024/06/06
    "インシデント: 通知が荒ぶる + 普段ではやらないようなミスも起きうる / いきなり自動化に着手するのはおすすめしない / まずはWhat -> Where -> Howを意識: 何を改善するのか + どこに課題があるのか + どう解決するのか"
  • Misskey.ioがおもしろい話と、2020年代のインターネットノリのルーツについて - nomolkのブログ

    Twitterの先行きが不安なのでいくつかのSNSにアカウントを作ってみたのだが、その中でMisskey.ioがめちゃめちゃ面白い。 それが何であるかは説明すると長くなるのでこのへんの記事を読んでほしい。 www.itmedia.co.jp Twitterとのシステム的な違いでいうと、大量のカスタム絵文字が用意されていてノート(Twitterでいうツイート)の文中に使えるほか、特殊な記法を使うと文字装飾も可能。うまく使うとTwitterのフリート絵文字芸みたいなことまでできる。 あとカスタム絵文字DiscordSlackみたいにノートに対するリアクションとしても使える。(たとえば何か達成したというノートには「偉業」っていう絵文字でリアクションするのが恒例) フォロー関係のない新しいアカウントでもローカルタイムライン(Twitterに昔あったパブリックタイムラインみたいな感じでフォロー

    Misskey.ioがおもしろい話と、2020年代のインターネットノリのルーツについて - nomolkのブログ
    sh19910711
    sh19910711 2024/06/06
    "ミームが生まれることにある程度の制約 / 特定のハッシュタグが流行ってみんながそれについて話すみたいな動きもない / 誰も一つの話題について話し合ったりしていないのに、コミュニティとしての妙な統一感" 2023
  • 本を書く意味 - はりねずみのもり

    博論を公刊することを研究室後輩に勧めることがあるのだが、挑戦する人がいなくて少しさびしく思っている。 ワークショップデザインにおける熟達と実践者の育成 作者: 森玲奈 出版社/メーカー: ひつじ書房 発売日: 2015/03/06 メディア: 単行 この商品を含むブログを見る 博論公刊に対する意識や意義というのはバックグラウンドが異なるとかなり違う。大学への就職活動を考えるとすると、単著が1あることはとても大きい(大きかった)。私が勤務する大学では、様々な業績が点数換算される仕組みになっているのだが、そこでの学術書単著のウェイトの高さには少々驚いた。 ただ、私が博論を公刊したかったのは、何も業績のためではない。「博論をください」と他人に言われたとき、印刷・簡易製して渡すというのはなかなかな手間である。世話になった人に、きちんとしたとして研究成果を渡したいという気持ちがあった。 それ

    本を書く意味 - はりねずみのもり
    sh19910711
    sh19910711 2024/06/06
    "「博論をください」と他人に言われたとき、印刷・簡易製本して渡すというのはなかなかな手間 / 世話になった人に、きちんとした本として研究成果を渡したいという気持ちがあった" 2017
  • Scrapboxの文章はLLMにも読みやすいのでは - 井戸端

    箇条書きであれば、「長い文章のうちの3段目のインデントまでの内容を切り出す」みたいな感じで小さいチャンクを取り出すことが可能blu3mo.icon

    Scrapboxの文章はLLMにも読みやすいのでは - 井戸端
    sh19910711
    sh19910711 2024/06/06
    "箇条書きは文章の構造自体が意味を持っている / 大学生の頃にGoogle検索が現れて「公開の場に置いておくと『賢い検索』ができる」となった / 当時はまだ非公開のままでは賢い検索ができなかった" 2023
  • Snowflake Summit 2024で発表されたアプリケーション機能群のアップデートポイント - Qiita

    はじめに 記事は、Snowflake Data Cloud Summit 2024 の Platform Keynote で発表されたデータアプリケーション機能に関連するアップデート情報を紹介します!セッションとしては、後半の後半のあたりに該当する部分です。キーノートの配信を視聴することもできるので、気になる方はぜひ御覧ください! 記事では、下記の項目で解説します。 Snowpark for Python Snowflake Notebooks Snowflake Cortex Snowpark Container Services Hybrid Table Dev/MLOps また先日、同様のカテゴリで各機能の概要を解説した記事も投稿しています。ぜひあわせて御覧ください! 概要 Platform Keynote では、様々なアップデートの発表がありました!特に、アプリ・LLM 系の

    Snowflake Summit 2024で発表されたアプリケーション機能群のアップデートポイント - Qiita
    sh19910711
    sh19910711 2024/06/06
    "Snowpark for Python: ローカルでPandas形式のデータフレーム処理を実行すると、Snowflake側でSQLクエリが実行 + データはSnowflake側にあるままで、処理もSnowflake側にPush-down"
  • AWS Storage Gatewayで始めるセキュアなデータ連携 / Secure data linkage with AWS Storage Gateway

    「Storage-JAWS #4 Storage LT祭り」で発表した資料 https://storage-jaws.connpass.com/event/319243/

    AWS Storage Gatewayで始めるセキュアなデータ連携 / Secure data linkage with AWS Storage Gateway
    sh19910711
    sh19910711 2024/06/06
    "Storage Gateway: オンプレミス環境のデータとクラウドストレージの橋渡し + SMB/NFSプロトコルを使ったS3へのアクセス / 物理テープの代替として仮想テープライブラリを提供 / ゲートウェイからS3への書き込み0.01USD/GB"
  • Amazon Neptune ServerlessでグラフDBを構築し、最短経路問題を解いてみた | DevelopersIO

    データアナリティクス事業部のueharaです。 今回は、Neptune ServerlessでグラフDBを構築し、最短経路問題を解いてみたいと思います。 Neptuneとは Amazon NeptuneはフルマネージドなグラフDBサービスです。 Neptuneについては以下の記事で紹介されていますので、より詳しく知りたい方は以下をご参考ください。 Neptune Serverlessの構築 NeptuneはServerlessでも構築可能なので、今回はそちらを利用したいと思います。 AWSのマネージドコンソールからNeptuneを検索し、「Amazon Neptune を起動」を選択します。 以下のような画面が表示されますので、まずエンジンのタイプを Serverless で設定します。 バージョンは今回は Neptune 1.2.0.1.R2 を利用します。 DBクラスター識別子は任意

    Amazon Neptune ServerlessでグラフDBを構築し、最短経路問題を解いてみた | DevelopersIO
    sh19910711
    sh19910711 2024/06/06
    "NeptuneではGremlinやopenCypherなどを使ってクエリを実行 / Jupyter NotebookでGremlinによるクエリの実行は、先頭に%%gremlin / PythonからNeptuneにアクセスするためにはgremlinpythonモジュールを使用" 2023
  • 仮説検定とP値

    たびたび議論にあがる仮説検定やP値についてまとめた資料です.

    仮説検定とP値
    sh19910711
    sh19910711 2024/06/06
    "検定: 判断を客観的にしているように見える / 検定の流れ: 研究仮説(例:A郡とB郡のアウトカム発生割合に差がある) + 帰無仮説( ~ 差がない) + P値が有意水準未満なら帰無仮説を棄却"
  • ふんわり理解するロジスティック回帰

    sh19910711
    sh19910711 2024/06/06
    "線形回帰とロジスティック回帰: 線形回帰:(連続値である)予測値を出力 + ロジスティック回帰:発生確率を出力、Aさんがテストに合格するか / 対数を取ると対称性が出るので比較しやすくなる"
  • Gaussian Filter を用いた画像の暈し. - Daily Tech Blog

    SFMをやります!」と言いながらだいぶ基礎的なエントリになるのですが, 「SFMをやる!」 ー>「特徴点はSFMの基礎だから,SIFTとAKAZEくらいは抑えておこう.」 ー>「まてよ,Scale Space ってなんや?」 という流れで,フィルタリングを簡単にまとめておくことにしました.「SFMシリーズ!」としてエントリをまとめてみようと思ったのですが,そうするとだいぶ先まで見通してエントリを書かないといけないので,小出しに個別のエントリを書くことにしました.一通りやりきることができたら,あとでリライトします. ということで,国際通りの3次元復元まで,道のりは遠いですね... Gaussian Filter とは. テンプレートマッチングや機械学習するときに,画像の前処理としてフィルタリングをすることもあると思います.自分はこのあたりあまり考えず,「ちょっと画像暈したいなあ.」とかって

    Gaussian Filter を用いた画像の暈し. - Daily Tech Blog
    sh19910711
    sh19910711 2024/06/06
    "画像の前処理としてフィルタリングをすることもある / Gaussian Filterはガウスカーネルを持つフィルタなので,フィルタの設定値として標準偏差(σ)を指定 / この σ がどんな意味を持つのか" 2020
  • 潜在ランク理論について | Sunny side up!

    潜在ランク理論とは,大学入試センターの荘島宏二郎さんが開発した,統計手法です。荘島さんのWebサイトにも,潜在ランク理論についての解説が載っています。 潜在ランク理論は,もともとテスト理論として開発されました。テスト理論とは,学力テストのような,能力を査定する道具の性能を評価したり,能力を推定したりするための統計的な理論を指します。有名なテスト理論としては項目反応理論などがあります。 テスト理論としての潜在ランク理論は,テスト得点による連続的な能力評価に対して,段階的な順序的な能力評価を提案している点に特徴があります。テストは100点満点で,1点間隔で表記されることが多いですが,実際運用されているテストは,1点や2点の違いを識別するほど信頼性は高くありません。つまり,実際の測定誤差に目が向けられることなく,点数がつけられてしまっている側面があります。それに対して潜在ランク理論では,学力を順

    sh19910711
    sh19910711 2024/06/06
    "得点による連続的な能力評価に対して,段階的な順序的な能力評価を提案 / 評価はおおざっぱになりますが,信頼できない1点にむやみに踊らされることもなくなる / 到達度などを質的に記述することができる" 2014
  • cargo-atcoder を使って Rust での AtCoder ライフを超快適にする - Qiita

    追記(2020/08/10) このエントリで紹介している cargo-atcoder の進化版として、@qryxip さんにより、cargo-compete が開発されました。 ↓↓↓詳しくはご人による紹介エントリをご覧ください!↓↓↓ cargo-atcoderの代替品を作った - Qiita (追記終わり) Rust競技プログラミングをやっている方であれば、 Rust競技プログラミングの入力をスッキリ記述するマクロ - Qiita で紹介されている input! マクロのことを見聞きしたことがある方が多いのではないかと思います。競プロにおいて第一級市民である C++ に比べて標準入力からの受け取りが冗長になりがちな Rust において、さまざまな入力形式に対応する汎用性と記述の短さをもつ input! マクロがもたらす恩恵はとても大きなものです。 さて、このマクロを作成した @

    cargo-atcoder を使って Rust での AtCoder ライフを超快適にする - Qiita
    sh19910711
    sh19910711 2024/06/06
    "競プロにおいて第一級市民である C++ に比べて標準入力からの受け取りが冗長になりがちな Rust / さまざまな入力形式に対応する汎用性と記述の短さをもつ input! マクロがもたらす恩恵はとても大きなもの" 2020
  • セイコーマートの近くに住みたい!Pythonで到達圏解析

    sh19910711
    sh19910711 2024/06/06
    "Overpass: OSMデータをクエリするためのツール + 特定の地理的エリアや属性に基づいてOSMデータを検索、取得することが可能 / OSMnx: 歩道、建物などの幾何学的情報を解析 + 到達圏解析などさまざまなネットワーク解析が可能"
  • react-webcamで撮った画像をFastAPIのサーバーに送信する - Qiita

    はじめに Reactを使ったWebアプリケーションでカメラ撮影する機能について調べてみました。 ただ撮影するだけではなく、サーバーに撮った画像を送信するところまでやってみました。 Reactでカメラを使う Reactでカメラを使用する場合、現状(2023/10月現在)だと以下のライブラリが候補になります。 react-webcam https://github.com/mozmorris/react-webcam react-html5-camera-photo https://github.com/mabelanger/react-html5-camera-photo react-camera-pro https://github.com/purple-technology/react-camera-pro ダウンロード数、GitHubのスター数などreact-webcamが圧倒している

    react-webcamで撮った画像をFastAPIのサーバーに送信する - Qiita
    sh19910711
    sh19910711 2024/06/06
    "react-webcamを使うだけなら難しいことは何もなく、usageにある通り、<WebCam />のみで使用でき / 撮影した画像を取得したい場合は、getScreenShotを呼び出せばよいだけ" 2023
  • ArcFace : 顔認証を行う機械学習モデル

    ArcFaceはメトリックスラーニングという仕組みを使用しており、通常のClassificationタスクにSoftmax Lossを置き換えるAngular Mergin Lossを導入することで、距離学習をClassificationタスクで解くことができるようになっています。 顔同士の距離はCos距離を用いています。Cos距離は検索エンジンでも使用される方法で、正規化された2つのベクトルの内積で計算できます。2つのベクトルが同じであればθが0になりcosθ=1、直行していればθがπ/2になりcosθ=0になります。そのため、類似度として使用できます。 (出典:https://arxiv.org/abs/1801.07698)通常のClassificationタスクでは、Featureを計算した後、FC層でFeatureとWeightの内積を取り、出力にSoftmaxを適用します。 A

    ArcFace : 顔認証を行う機械学習モデル
    sh19910711
    sh19910711 2024/06/06
    "ailia: エッジ向け推論フレームワーク + 公開されている機械学習モデルを使用する / ArcFace: ClassificationタスクにSoftmax Lossを置き換えるAngular Mergin Lossを導入 / バッチ1にそのまま、バッチ2に水平FLIPした画像を入力" 2020
  • RMeCabみたいなRパッケージをCRANに投稿した話

    gibasaパッケージについて RMeCabみたいなことができる、gibasaというRパッケージを個人で開発しています。先日CRANに投稿できたので、2023年4月20日現在では、install.packages("gibasa")とするだけでもインストールできるようになっています。 モチベーションとしては、tidytext::unnest_tokensと同じような処理をMeCabを利用しつつできるようにしたいということで開発しています。また、とくに最近は、より簡単に利用をはじめられるようにしようと、すこしずつ改善を続けています。 開発の背景 RからMeCabを利用できるRパッケージとしては、すでにRMeCabがあります。徳島大学の石田基広先生が開発されているもので、わりと昔からあるパッケージです。 RMeCabは便利なパッケージですが、残念ながら、CRANには登録されていません。 技術

    RMeCabみたいなRパッケージをCRANに投稿した話
    sh19910711
    sh19910711 2024/06/06
    "RMeCab: ビルドするにはlibmecab.dllなどのバイナリファイルが必要 + 一方で、CRANポリシーは基本的にそうしたバイナリファイルをソースパッケージに含めることを禁止"
  • Unified Memoryを使ってGPUメモリよりも大きなモデルをChainerで扱う - Qiita

    ... cupy.cuda.memory.OutOfMemoryError: out of memory to allocate 8589934592 bytes (total 17179869184 bytes) などとエラーを吐かれて泣いた記憶はないでしょうか。 最近は様々な分野で深層学習のモデルの巨大化が激しいです。学習時間が長くなるのは致し方ないとして、モデルによってはGPUメモリにのらず、そもそもまともに動かすことができないという問題に直面することがあります。特に、Graph Convolution系のアルゴリズムでは、ミニバッチ学習方法が確立されていない1ため、GPUメモリの大きさの制約を受けやすいです。 記事では、Pascal以降のNVidia GPUから機能が拡張された2Unified Memoryを使って、GPUメモリよりも大きなモデルをChainerで扱う方法を紹介し

    Unified Memoryを使ってGPUメモリよりも大きなモデルをChainerで扱う - Qiita
    sh19910711
    sh19910711 2024/06/06
    "Unified Memory: Pascal以降のNVidia GPUから機能が拡張 / GPUメモリよりも大きなモデルをChainerで扱う方法 + パフォーマンス改善につながらないので、ミニバッチの大きさを大きくする目的では使わない" 2019
  • Minimum Bayes-Risk Decoding における性能変動の理解に向けて(2024年6月5日 第59回 NLPコロキウム)

    sh19910711
    sh19910711 2024/06/06
    "探したいのは出力文のクオリティを測る尺度を最大化する系列 / Beam search decoding: モデルが付与する確率が最大となる系列を探す手法 + <eos>のみの系列が確率最大になる場合がある (Stahlberg+'19)"
  • Tableau Prep の使い方 - LOD 表現的な計算をしてみる - Qiita

    Tableau Prep とは Tableau 社 が提供している データ準備ツール です。元々 Project Maestro というコードネームで開発が進められていましたが、2018/4/24 に Tableau Prep として製品版がリリースされました。Tableau Desktop を使っているユーザであれば誰でも使えるようになってます。 データ加工をフロー形式で定義することができるため、可読性、生産性の高いツールになってます。詳細は製品ページを参照ください。 製品サイト LOD 表現 とは Tableau ではビューの表示に使われるディメンションの粒度とは異なる粒度で集計テーブルを作成できる機能があります。 LOD 表現と呼ばれ、従来の BI ツールでは中間テーブルを作成しないと表現ができなかった計算を実現できます。 LOD 表現トップ 15 ただし、データ量が多くなった場合や

    Tableau Prep の使い方 - LOD 表現的な計算をしてみる - Qiita
    sh19910711
    sh19910711 2024/06/06
    "Tableau Prep: 元々 Project Maestro というコードネームで開発が進められ + 2018/4/24 に Tableau Prep として製品版がリリース / LOD: 従来の BI ツールでは中間テーブルを作成しないと表現ができなかった計算を実現" 2018
  • JuliaHub を使って複数ノードのDistributed Computingを試す

    日は JuliaHub を用いて分散コンピューティング(Distributed computing) を試すお話です. JuliaHubの入門はここにも書きました この記事ではみんな大好き「乱数を用いた円周率の計算」を複数のコンピュータを用いて並列計算させます. 大学や研究機関など特別な機関に所属していないような普通の人間でも(お金さえ払えば)できてしまうのです. この記事を書いている中の人は「自腹で4台のラズパイを買って, LANケーブル繋いでMPIによって並列計算をPythonでおこなった」程度の経験しかないよくある一般人です. それよりも多いノードを使ったスパコンシステムを使うのは JuliaHub が初めてになります. この記事を読んだ方で普段スパコンを触っている方がいれば是非 JuliaHub を使って既存のシステムとの比較・所感を書いていただけると幸せになる人がいると思います

    JuliaHub を使って複数ノードのDistributed Computingを試す
    sh19910711
    sh19910711 2024/06/06
    "乱数を用いた円周率の計算: 複数台のマシンで独立に計算させることができるので分散コンピューティングの練習にはちょうど良い / JuliaHub: ボタン一つであたかも複数台のPCを用意した環境を作成" 2022
  • ImageNet について考える (2) — Tiny ImageNet の分類

    目的 ImageNet について考える (1) — Tiny ImageNet で Tiny ImageNet を調べたので、実際に分類モデルを訓練してみたい。 やること VGG16 の転移学習ベースで訓練する。ImageNet について考える (1) — Tiny ImageNet でも触れた ImageClassificationProject-IITK が分かりやすいので、これをベースとする。また VGGNet and Tiny ImageNet という記事も参考になる部分が多かったので、一部適用している。 実装には PyTorch を用いて、val acc=0.5 程度で満足することにした。これくらいの画質で簡単なアーキテクチャで 1/2 の確率で 200 クラスの中から正解を引けるなら御の字であろう。 データセット tiny-imagenet-200.zip を展開すると tin

    ImageNet について考える (2) — Tiny ImageNet の分類
    sh19910711
    sh19910711 2024/06/06
    "Tiny ImageNet: VGG16 の転移学習ベース + 分類器だけを差し替え / VGGNet and Tiny ImageNet という記事も参考になる部分が多かった / 分類器以外の層を固定して転移学習 + モデル全体の層を固定解除してファインチューニング"
  • Attentionも畳み込みも使用しないモデル「 MLP-Mixer 」を解説!! - Qiita

    はじめに 畳み込みやAttention機構を用いず、多層パーセプトロンのみを用いて最先端のモデルに見劣りしない性能をたたき出した画像認識モデルMLP-Mixerというモデルが提案されました。 今回はこのMLP-Mixerについて解説したいと思います。 論文データ arxiv :「MLP-Mixer: An all-MLP Architecture for Vision」 [Submitted on 23 Mar 2021 (v1), last revised 30 Mar 2021 (this version, v2)] 論文の概要 画像パッチに分割しそれらのパッチを、空間方向及びチャンネル方向に関して多層パーセプトロンで変換(mix)させるモデルMLP-Mixerを提案した このMLP-Mixerは畳み込みやAttentionを使用していないがSOTAと比較しても見劣りしない精度を誇り、

    Attentionも畳み込みも使用しないモデル「 MLP-Mixer 」を解説!! - Qiita
    sh19910711
    sh19910711 2024/06/06
    "MLP-Mixer: 畳み込みやAttention機構を用いず、多層パーセプトロンのみを用いて最先端のモデルに見劣りしない性能をたたき出した / パッチを空間方向及びチャンネル方向に関して多層パーセプトロンで変換(mix)させる" 2021
  • 【転移学習で顔認識モデルを作ってみた】 - Qiita

    はじめに 後追いながら、機械学習が熱いということで転移学習を用いて、人物画像を識別する学習モデルを作成してみました。 画像の前処理や水増しから学習モデルの構築などの過程をまとめています。 モデルの想定ユースケース 人物画像の識別となると思いたのが、マンションセキュリティ用監視カメラでした。 登録された住人以外の人が入り込んだ際に、不審者として識別してタグづけするようなものを考えていたのですが、 動画などは難易度が高いため、今回は顔画像を使っての顔認識モデルを作成しました。 画像について 画像枚数 今回、学習用の元画像50枚と学習モデルのテスト用に20枚ほど用意しました。 正直画像の収集が一番大変な作業でした、、 人物画像の元画像: 計50枚(10枚✖️住人5人) 学習モデルのテスト用: 計20枚(4枚✖️) 人物画像例 学習には知り合いの顔画像を利用しており、以下のように顔のみや上半身が

    【転移学習で顔認識モデルを作ってみた】 - Qiita
    sh19910711
    sh19910711 2024/06/06
    "VGG16: TPUで大体40分ほど学習に必要だった / 20枚中13枚が正しく識別されており、精度としては大体65~70%とそこそこ / 学習用の元画像が少なかったことや、画像のバリエーションが少なかった" 2022
  • 記号のみを使った Julia プログラミングをしたかった - Moriturus te saluto

    punctuations のみを使ってプログラミングすることを記号プログラミングと呼ぶ人がいるらしいです。*1 記号プログラミング Advent Calendar がアツい! - 葉っぱ日記 これを真似て Julia で記号のみのプログラミングをやってみようと思いました。上のリンク先の内容(特にPerlの記事)をなぞっただけなので新規性はないです。 記号のみでプログラミングをするための方策は次の2ステップに分解できます。 任意のAscii文字列を記号のみで表現する 作った文字列を eval する この記事では 1. についてはやりましたが 2. は妥協しました。eval を記号で済ます方法は Julia にはないように思われたからです。 さて、まずは 1.を実現するために、任意の文字 [a-zA-Z] が2つの文字記号の論理演算から作れるということを利用します。 julia> bin('`

    記号のみを使った Julia プログラミングをしたかった - Moriturus te saluto
    sh19910711
    sh19910711 2024/06/06
    "punctuations のみを使ってプログラミングすることを記号プログラミングと呼ぶ人がいるらしい / 記号プログラミング: 任意のAscii文字列を記号のみで表現 + 作った文字列を eval する" 2014
  • ランク学習のListNetをChainerで実装してみた - Qiita

    はじめに ランク学習 (Learning to Rank) の手法である、ListNetをChainerで実装します! 記事は、Chainer Advent Calendar 2016 7日目です. 手法の説明 まず、ランク学習については、Advent Calender 5日目でsz_drさんが素晴らしい記事を書いているので、是非そちらをご覧ください。 時間のない方のために一言で言うと、「1セット(クエリ)の中に複数データがあり、それらに相対的な尺度が与えられたときに、教師付きの条件で順序付けを学習する」問題です。ラベルがクエリ間で絶対的な数値を取らないことが普通の教師付き学習との差になります。 RankNetとの違い ニューラルネット+ランク学習で多くのの方が真っ先に思い浮かべるRankNetだと思います。実は、ランク学習の定式化方法は複数あり、RankNetはpairwise、Lis

    ランク学習のListNetをChainerで実装してみた - Qiita
    sh19910711
    sh19910711 2024/06/06
    "ランク学習の定式化方法は複数あり、RankNetはpairwise、ListNetはlistwiseな手法 / PPD: データの各並び順 (permutation) の起こりやすさを確率分布にしたもの + データごとのスコアから計算" 2016
  • 最尤法による一般化線形モデルのパラメータ推論 - 機械と学習する

    【概要】 一般化線形モデル(ロジスティック回帰、ポアソン回帰)のパラメータ推論を最尤法を使って実装してみます 確率モデルとして考えることで統一した考え方ができます(わざわざ「〇〇回帰」みたいな名称を覚える必要ない) 【目次】 はじめに 統計モデリング 一般化線形モデル 最尤法 ロジスティック回帰 モデル パラメータ推論 実装 ポアソン回帰 モデル パラメータ推論 実装 実装(jupyter notebook) まとめ 参考文献 はじめに 「一般化線形モデル」の実用例として頻繁に使われる(と思う)ロジスティック回帰とポアソン回帰のパラメータを最尤法によって推論してみます。「ロジスティック回帰」、「ポアソン回帰」のようにそれぞれ名前が付いているように思いますが、これらは確率モデルの一つです。確率モデルとして考えれば統一したアプローチでモデルの推論ができます。 記事は以下のセミナーで話した内容

    最尤法による一般化線形モデルのパラメータ推論 - 機械と学習する
    sh19910711
    sh19910711 2024/06/06
    "データの構造を確率分布を組み合わせて表現する活動 / 確率モデルとして考えることで統一した考え方ができます(わざわざ「〇〇回帰」みたいな名称を覚える必要ない)" 2020
  • Stan:階層モデルに関する考察 - 機械学習・自然言語処理の勉強メモ

    はじめに 今回もStanを使って階層モデルを勉強していく。 今回は階層モデル(というよりベイズ学習そのもの)の基的なことに関する疑問の解消を目指す。 最尤推定ではなく、ベイズ推論を用いる目的の1つとして「ベイズ推論による機械学習」では以下のように書かれている。 ベイズ推論の事後分布は、Nを大きくしていけば漸近的に最尤推定の結果に近づきます。 しかし、「データ数Nが十分に大きい」という仮定自体が現実問題にアプローチするうえで適切ではありません。 (中略) データ数Nが十分であると思うのであれば、解析対象をもっと詳細にするべきです。 下記でも同様なことが書かれている。 andrewgelman.com 以下はベイズ統計の扱い方に関する基礎的な論文(メモ) Philosophy and the practice of Bayesian statistics 「なるほど、そらそうだ」と思ったわけ

    sh19910711
    sh19910711 2024/06/06
    "最尤推定ではなく、ベイズ推論を用いる目的の1つとして「ベイズ推論による機械学習」では以下のように書かれ ~ / 分散パラメータの事前分布: グループ数>5 の場合は一様分布 + それ以下の場合、半コーシー分布" 2018
  • GIS × Python Tutorial Session8 ~ 地上分解能の決め方とRGB画像の作成 ~

    この記事は「GIS × Python Tutorial」の関連記事です。 はじめに 前回の記事では CSF(Cloth Simulation Filter) による点群分類と DTM(Digital Terrain Model) の作成を行いました。 今回は DTM の後処理を行う予定でしたが、地上分解能をさらっと適当に決めていたり、RGB画像を登場させていたので、今回は先にその部分についてを解説していきます。 オルソ画像とは 点群データを画像化する為の準備 RGB 画像の作成 Raster の出力 Intensity を見てみる バンド合成で遊ぶ 今回使用するデータ 今回は Session6 の記事で作成した '.las' を使用します。元々はオープンナガサキからダウンロードした点群データです。 インポート from IPython.display import Image import

    GIS × Python Tutorial Session8 ~ 地上分解能の決め方とRGB画像の作成 ~
    sh19910711
    sh19910711 2024/06/06
    "上空の遠く離れた場所から大きな範囲を撮影した画像は、画像の端に行くほどに、写真に映る物体が大きく / オルソ画像: 画像を正射変換し、真上から見たような傾きの無い、正しい大きさと位置に表示される様に変換"
  • Transformerを理解するため!今からでもAttention入門 ~ イメージ・仕組み・コードの3面で理解する ~

    はじめに どうもどうも、やまぐちです。 今回はTransformerアーキテクチャの中核をなすAttentionについて重点的に解説したいと思います。 Attentionのイメージ・仕組み・コードの三つの側面から解説することでAttentionの理解につながるかと思います。 記事全体を通して、Attentionの説明にはTransformerの文脈を交えながら解説するように心がけましたのでAttention自体の理解は進むはずです! 解説はできる限り理解しやすいイメージに落とし込んでいます。できる限り正確に解説することを心掛けていますが、もし不正確な点があればご指摘いただけると幸いです。 Transformerの中のAttention まずはよくあるTransformerの全体図です。 (Referenced by https://arxiv.org/pdf/1706.03762) 上記の

    Transformerを理解するため!今からでもAttention入門 ~ イメージ・仕組み・コードの3面で理解する ~
    sh19910711
    sh19910711 2024/06/06
    "Transformer以前の深層学習の自然言語処理モデルはRNNやLSTMなどを使用しており、これらには計算の並列化が難しいという制約 / QueryとKeyの内積 + QueryがどのKeyに対して反応するか + Softmaxで重みに変換し、Valueに掛ける"
  • TFGANでFashion MNISTのGANをさくっと試す - Qiita

    これはTensorFlow Advent Calendar 2017の22日目の記事です。 12/12にGoogleからTFGANがリリースされた。TFGANはTensorFlowでGenerative Adversarial Networks (GAN)を手軽に使えるライブラリ。さっそく触ってみたので、お手軽に試す手順を紹介したい。おそらく30〜60分ほどでこんなふうにFashion MNISTの画像が徐々に生成されていく様子が確認できるはず。 TFGANで生成したFashion MNIST画像 GANって何? GANについては、アイドル画像生成いらすとや画像生成などの事例で目にしたことのある人も多いはず。いわゆる生成モデルに分類される技法で、既存のデータを投入して学習すると、そのデータの特徴を捉えた新しいデータの生成を行える。2014年にIan Goodfellow他が考案したモデ

    TFGANでFashion MNISTのGANをさくっと試す - Qiita
    sh19910711
    sh19910711 2024/06/06
    "TFGAN: TensorFlowでGANを手軽に使えるライブラリ / GAN: 既存のデータを投入して学習すると、そのデータの特徴を捉えた新しいデータの生成 + 2014年にIan Goodfellow他が考案 / 従来のGANは学習が安定しないという問題があった" 2017
  • プリム法ベースのシュタイナー木 - bowwowforeachの日記

    AHC020でシュタイナー木を作るような問題がでました。そこでプリム法ベースのシュタイナー木を作ることがあったのでその方法を説明します。 シュタイナー木とは グラフとターミナルと呼ばれる頂点集合が与えられたとき、ターミナルを全てつなぐ木のことをシュタイナー木といいます。 頂点A,B,Cがターミナル シュタイナー木の例 ターミナルでない頂点はつないでもつながなくても構いません。 シュタイナー木のうちコストが最小のものを最小シュタイナー木といい、これを求めるアルゴリズムとしてDreyfus-Wagner法というものがあるらしいです。しかしこの方法はとても計算量が多いです。 今回紹介するプリム法ベースのシュタイナー木は、計算量は少なくて済みますがコストが最小になるとは限りません。ヒューリスティックコンテストにおける焼きなましの最中など、厳密さより速度が優先されるようなケースでの使用を想定していま

    プリム法ベースのシュタイナー木 - bowwowforeachの日記
    sh19910711
    sh19910711 2024/06/06
    "シュタイナー木: ターミナルと呼ばれる頂点集合が与えられたとき、ターミナルを全てつなぐ木 / プリム法ベースのシュタイナー木は、計算量は少なくて済みますがコストが最小になるとは限りません" 2023
  • Heuristic黄色になれたので今までのAHCを全て振り返ってみる - G4NP0Nのブログ

    先日行われたHACK TO THE FUTURE 2024 (AtCoder Heuristic Contest 027)でHeristicレーティング黄色になりました! … Algo入青から2年半ぶりに新しい色に到達できたのでうれしいです。 ヒュの色変記事ってあんまり見たことないので書いてみようかなと思ったんですが、何書けばいいのかわからなかったので、今までのAHCを自分なりに振り返ってみようかなと思います。記憶とツイートが頼りなので嘘を書いてたらすみません。 注意! 以下、AHC過去問のネタバレが大量に含まれます Introduction to Heuristics Contest - AtCoder Contest Scheduling CodinGame SPRING CHALLENGE 2020に参加してみたら思いのほか楽しくて、アルゴ以外のジャンルにも挑戦してみようかなーという

    Heuristic黄色になれたので今までのAHCを全て振り返ってみる - G4NP0Nのブログ
    sh19910711
    sh19910711 2024/06/06
    "Introduction to Heuristics Contest: 解説PDFが非常に有用 / 経路を部分的に破壊して再構築する手法を勉強していたのがAHC027の勝因 / AHC024: Intoroduction To HeuristicやAHC005で基本的な焼きなまし法を練習した後のチャレンジ問題" 2023
  • DQN(Deep Q Network)を理解したので、Gopherくんの図を使って説明 - Qiita

    概要 強化学習のDQN(Deep Q-Network)について理解したので、ゆるくGopherくんを使って説明を試みました。 DQNは人間を打ち負かしたAlphaGoでも使われています。 強化学習は書籍もネットの記事も難解なものが多いので、なるべく図で具体的に記載しました。 強化学習とは ある状態における最適な行動を学習する、機械学習の手法の一つ。 モデル化 ゴーファーくんがケーキをべるために、最適な行動を学習することを例に考えてみます。 The Go gopher was designed by Renée French. エージェント ある環境で動くプレーヤー → ゴーファーくん 状態(status) エージェントが置かれている状況 $S=\{s_1,s_2,s_3 \cdots \}$ → どのマスにゴーファーくんがいて、どのマスにケーキがあるか? 各マスに1〜9の番号をふる ゴー

    DQN(Deep Q Network)を理解したので、Gopherくんの図を使って説明 - Qiita
    sh19910711
    sh19910711 2024/06/06
    "報酬関数: ある状態𝑠𝑡である行動𝑎𝑡をとって、𝑠𝑡+1の状態になって得られる報酬を返す / 時間割引率: 3回移動してケーキを食べられるのと、5回移動してケーキを食べられるのは前者のほうが良い" 2018