TadaoYamaokaの開発日記

個人開発しているスマホアプリや将棋AIの開発ネタを中心に書いていきます。

2024-03-01から1ヶ月間の記事一覧

【読書ノート】Lean Software Development: An Agile Toolkit

書籍「Lean Software Development: An Agile Toolkit: An Agile Toolkit」を読んだので内容をまとめる。 以下の内容は、ほとんどClaude3 Opusを使用して作成している。 Introduction 「リーンソフトウェア開発」は、ソフトウェア開発のリーダーのための思考…

大規模言語モデルで将棋AIを作る

先日、dlshogiをPyTorch Lightningに対応させてマルチGPUで学習できるようにした。 これは、より大規模なモデルで将棋を学習するための布石でもある。Transformerを使ったLLMで使われている技術を将棋に応用することを計画している。 「Deep Learning Shogi…

【読書ノート】Kaggleに挑む深層学習プログラミングの極意

書籍「Kaggleに挑む深層学習プログラミングの極意」を読んだので内容をまとめる。 以下の内容は、ほとんどClaude3 Opusを使用して作成している。 はじめに 本書は、画像やテキストを用いるKaggleコンテストでの著者らの知見を体系的にまとめたものである。第…

【読書ノート】GitLabに学ぶ 世界最先端のリモート組織のつくりかた

書籍「GitLabに学ぶ 世界最先端のリモート組織のつくりかた」を読んだので内容をまとめる。 以下の内容は、ほとんどClaude3 Opusを使用して作成している。 はじめに 本書は、リモート組織を実現するためのノウハウをGitLabのHandbookを基に解説し、誰もが再…

【読書ノート】機械学習エンジニアのためのTransformers

書籍「機械学習エンジニアのためのTransformers」を読んだので内容をまとめる。 以下の内容は、ほとんどClaude3 Opusを使用して作成している。 第1章 入門Transformers いる。さらに、Transformer系モデルのGPTとBERTが紹介され、自然言語処理の分類、固有表…

【読書ノート】スーパーインテリジェンス 超絶AIと人類の命運

書籍「スーパーインテリジェンス 超絶AIと人類の命運」(ニック・ボストロム )を読んだので内容をまとめる。 以下の内容は、ほとんどClaude3 Opusを使用して作成している。 第1章 人工知能の発展、現在の能力 人類の脳の進化により、言語、技術、複雑な社…

【読書ノート】System Design Interview : Mastering Basic Introduction to System Analysis and Design

書籍「System Design Interview : Mastering Basic Introduction to System Analysis and Design」を読んだので内容をまとめる。 以下の内容は、ほとんどClaude3 Opusを使用して作成している。 CHAPTERごとの要約 CHAPTER 1: SCALE FROM ZERO TO MILLIONS OF…

【読書ノート】プロダクトマネジメントのすべて 事業戦略・IT開発・UXデザイン・マーケティングからチーム・組織運営まで

書籍「プロダクトマネジメントのすべて 事業戦略・IT開発・UXデザイン・マーケティングからチーム・組織運営まで」を読んだので内容をまとめる。 以下の内容は、ほとんどClaude3 Opusを使用して作成している。 PART Ⅰ プロダクトの成功 Chapter 1 プロダクト…

【読書ノート】私たちはどう学んでいるのか――創発から見る認知の変化

書籍「私たちはどう学んでいるのか――創発から見る認知の変化」を読んだので内容をまとめる。 以下の内容は、ほとんどClaude3 Opusを使用して作成している。 要約 はじめに 人は日々の生活の中でさまざまな経験を重ね、認知的変化を遂げる。本書ではこうした…

【読書ノート】SCRUMMASTER THE BOOK 優れたスクラムマスターになるための極意――メタスキル、学習、心理、リーダーシップ

書籍「SCRUMMASTER THE BOOK 優れたスクラムマスターになるための極意――メタスキル、学習、心理、リーダーシップ」を読んだので内容をまとめる。 以下の内容は、ほとんどClaude3 Opusを使用して作成している。 要約 CHAPTER1 スクラムマスターの役割と責務 …

【読書ノート】科学的根拠に基づく最高の勉強法

書籍「科学的根拠に基づく最高の勉強法」を読んだので内容をまとめる。 以下の内容は、ほとんどClaude3 Opusを使用して作成している。 要約 はじめに 本書は、科学的に根拠のある効果の高い勉強法について、心理学や脳科学の研究によって得られた客観的な証…

【読書ノート】Clean Architecture 達人に学ぶソフトウェアの構造と設計

書籍「Clean Architecture 達人に学ぶソフトウェアの構造と設計」を読んだので、内容をまとめた。 以下の内容は、ほとんどClaude3 Opusを使用して作成している。 まえがき・第I部 イントロダクション まえがき ソフトウェアシステムの構造を決定するルールは…

【読書ノート】最適輸送の理論とアルゴリズム

Stable Diffusion 3は、Flow Matchingが使用されており、Flow Matchingは最適輸送とも関連するということなので、積んでおいた「最適輸送の理論とアルゴリズム」を読んだ。数式をほとんど読み飛ばして読んだまとめである。 以下の内容は、ほとんどClaude3 Op…

【読書ノート】エリック・エヴァンスのドメイン駆動設計

最近、ソフトウェア開発を行っているので、ソフトウェア設計に関する勉強をしている。 「エリック・エヴァンスのドメイン駆動設計」を読んだので、内容をまとめた。 以下の内容は、ほとんどClaude3 Opusで書いている。 概要 第1部 ドメインモデルを機能させる…

dlshogiのPyTorch Lightning対応 その5(Warm-upに対応したスケジューラ)

大規模なモデルの学習に効果があるとされる学習率スケジューリングの手法にWarm-upがある。 しかし、Pytorchの標準のスケジューラには、Warm-upに対応したスケジューラが提供されていない。PyTorch Lightning Boltsには、Warm-upに対応したCosineAnnealingLR…

dlshogiモデルの枝刈りを試す

前回、深層強化学習において、モデルの枝刈りによりスケーリングが可能であることを示した論文を紹介した。dlshogiの強化学習でもモデルの枝刈りが効果があるか試したいと考えているが、まずはモデルの枝刈りのみを行って、精度と探索速度にどう影響するかを…

【論文】In deep reinforcement learning, a pruned network is a good networkを読む

DeepMindがarXiv上で発表した、深層強化学習のモデルを段階的な枝刈りすることでモデルサイズのスケーリングが可能になることを示した「In deep reinforcement learning, a pruned network is a good network」を読んだ際のメモ。 概要 深層強化学習はモデル…

dlshogiのPyTorch Lightning対応 その4(8GPUで学習)

前回、dlshogiをPyTorch Lightningを使用した並列学習に対応させた、8GPUでどれくらい学習が速くなるか試した。 条件 30ブロック384フィルタのモデル 訓練データ: 35,289,182局面 エポック数: 2 バッチサイズ: 4096 オプティマイザ: AdamW 学習率: 1e-4 (1ep…

dlshogiのPyTorch Lightning対応 その3(DDP)

PyTorch Lightningに対応できたので、DistributedDataParallel によるマルチGPU学習を試してみた。前回未対応だった、勾配クリッピングはconfig.yamにgradient_clip_valを記述するだけで対応できた。 また、モデルのエクスポートもon_train_end()で実装した…

dlshogiのPyTorch Lightning対応 その2(EMA)

前回、dlshogiのPyTorch Lightning対応の基本部分を実装した。今回は、EMAを実装する。 EMA EMAは、Exponential Moving Averageの略で、重みの指数移動平均をとり平準化する方法である。dlshogiでは、SWAと呼んでいたが、SWAで使われるスケジューラは使用し…