計算機フォーラムhttps://hpcic-kkf.com/
15：00〜15：40

格子場の量子論のシミュレーションに向けた機械学習手法の開発
富谷昭夫
大阪国際工科専門職大学
akio_at_yukawa.kyoto-u.ac.jp

助教Outline• 自己紹介• 素粒子物理学とは?
• 格子QCDとその目的・問題点• 理論: ニューラルネットを用いたQCD• コード: QCD+MLのためのコード開発• これからの展望

2自己紹介: 富谷昭夫
素粒子物理 + 機械学習
研究分野
素粒子理論の数値計算が専門の物理屋
機械学習をつかって計算できることを増やしたい
主な論文 https://scholar.google.co.jp/citations?user=LKVqy_wAAAAJ
ニューラルネットを使った相転移検出
量子コンピュータで場の理論計算略歴
2015: 大阪大学にて博士号取得(素粒子理論)
2015 - 2018 : 華中師範大学・ポスドク (中国、武漢)2018 - 2021 : 理研/BNL・ポスドク (米国、NY)
2021 : 大阪国際工科専門職大学・テニュア助教
科研費
学術変革A 計画班A01代表
その他量子計算等

英語版
https://cometscome.github.io/DLAP2020/

その他:
Deep Learning and physics (セミナー)運営
シン仮面ライダーの監修をしました3

(素粒子理論) 物理学とは?

4

理論物理学

Akio Tomiya

物理学の大きさによる分類
ざっくりとしたスケール
１m
ヒト

1cm = 1^[-2] m
硬貨

1mm=10^[-3]m10^[-4]m

今着目する範囲
10^[-5]m細胞

10^[-7]mウイルス

10^[-8]m
物性物理化学10^[-15]m
素粒子物理10^[-24]m超弦理論

あと宇宙も研究対象。
5

期待値を通じて「この世の確率分布」を探る• 素粒子物理 = 相対性理論と量子力学を使い、 物質と力の根源を探る• 量子力学: 予測可能なのは期待値のみ• 物理量O (たとえば粒子の質量) の量子力学的な期待値の計算

•

[O]

⏟

測定可能

= ⋯ (dϕ1dϕ2⋯) O(ϕ1, ϕ2, ⋯)∫ ∫p(ϕ1, ϕ2, ⋯)確率分布(知りたい)• ワークフロー (数年〜数10年規模):
いくつかのOで [O]を測定(実験家)→もっともらしい p(ϕ1⋯)を推定(理論家)→ p(ϕ1⋯)とO′ で[O′]を計算(理論家)→p(ϕ1⋯)の予想が正しいか専門[O′]を測定してチェック(実験家)

￼

￼

𝔼

→…
￼

𝔼

𝔼

𝔼

素粒子物理学

Akio Tomiya

6素粒子物理学

Akio Tomiya

今までわかっていること• 10−19 m 以上の大きさの実験を、ほぼ説明可能な確率分布p を知っている−19−5(m以上は、宇宙の歴史だと宇宙誕生後秒以降に相当)1010•1• p = Z exp(−S), (この確率分布で期待値 -> 実験・観測と比較)
1(a) (a)S = d x [ψ̄D
/ψ(x) +FμνFμν + ϕψ̄ yψ(x) + ϕ †D 2ϕ(x) + V(ϕ)]
•
∫
4∑
a
4

「神の数式」(by NHK スペシャル)

−19

• 10
→

mよりミクロの世界(or 宇宙誕生後10

−5

秒以前)

実験と計算がまだまだ必要
たとえば、ILC やCERNのLHC、宇宙観測 etc→

また本当に上記の確率分布で良いのかは精密計算が必要
7

素粒子理論での従来法と問題

Akio Tomiya

積分ができない• 10−19m 以上の大きさの実験を、ほぼ説明可能な確率分布p を知っている1• p = Z exp(−S), (この確率分布で期待値 -> 実験・観測と比較)
1(a) (a)S = d x [ψ̄D
/ψ(x) +FμνFμν + ϕψ̄ yψ(x) + ϕ †D 2ϕ(x) + V(ϕ)]
•
∫
4∑
a
4

• 期待値の計算は下記とほぼ同じ (1万次元積分, g は定数)dϕ1 dϕ2⋯ dϕ10000 exp −(ϕi2 + gϕi4)
∫
∫
∫
[ ∑
]
i

• 不定積分は出来ない。計算手法は以下の2つ。
• 手法1: gでテイラー展開 (gが大きい時に破綻)• 手法2: 数値積分！
8

既存手法の成功

Akio Tomiya

期待値の計算、数値積分も難しい
積分したい式 (おもちゃ模型)

dϕ1 dϕ2⋯ dϕ10000 exp −(ϕi2 + gϕi4)
∫
∫
∫
[ ∑
]
i

積分

数値積分~離散和

ただの多重積分、ただし10, 000次元以上(多変数積分)。
台形法などで誤差を抑えて計算するには現在のスパコンでも100億年以上かかってしまう。

9既存手法の成功

Akio Tomiya

なぜ普通に数値積分できない？
2次元積分でみてみる

1− 12 (x12+x22+x1x2)[O] =dx1dx2eO[x1, x2] Zは [1] = 1 とする規格化定数Z∫
1 − 1 (x 2+x 2+x x )P(x1, x2) = e 2 1 2 1 2Z
ほとんど至る所で確率が0。
賽の目に切って数値積分だと、無駄が多い。
誤差は、積分の次元で支配される。

𝔼

𝔼(マルコフ連鎖) モンテカルロを使いましょう。

10

格子QCDとその目的・問題点

11

格子QCDとその目的・問題点

Akio Tomiya

格子QCD = 強い核力を第一原理的に計算

QCD

Aμ(x) ∈ su(3)Fμν = ∂μ Aν − ∂ν Aμ − ig[Aμ, Aν]1
LQCD = − tr FμνF μν + ψ̄(i∂/ − gA/ − m)ψ
4−iĤ QCDt←での期待値が欲しい| Ω(t)⟩ = e

Rajan Gupta

12

d
D

| Ω⟩

• QCD = 量子色力学
K• 量子電磁気学の拡張 (ゲージ群が非可換)e• 陽子中性子等の内部を第一原理・量子論的に記述−ν• 宇宙の歴史やミクロ世界の理解に重要• 弱結合展開での計算以外の部分がessential• 格子QCD = 離散時空上のQCD• 数学的に厳密な定式化、連続極限でQCD• 数値計算できる! (が大変)
0

c

s
W

Fig. 3. The Feynman diagram for the semi-leptonic decay D − → K 0 e− ν e . The QCD
corrections are illustrated by the various gluons being exchanged between the initial andfinal hadrons. The leptonic vertex can be calculated reliably using perturbation theory,
whereas the hadronic vertex requires non-perturbative methods.

The second area in which perturbative estimates are not reliable is in
the calculation of the matrix elements occurring in the weak decays ofhadrons. The reason is that the non-perturbative QCD corrections to thebasic weak process can be large due to the exchange of soft gluons between
the initial and final states. This is illustrated in Fig. 3 for the case of
the semi-leptonic decay D → Klν. In this case the matrix element of
the weak interactions Hamiltonian between the initial D meson and final
kaon receives large corrections from QCD which cannot be estimated using
PQCD.
The result of the experiment is a number, i.e. the decay rate. To check
whether the Standard Model prediction is in agreement with this number
theorists must derive an analytical expression for the same process. This
expression, in general, consists of a product of three parts: a combinationof the parameters in the SM , matrix elements (M E) of the interaction
Hamiltonian between the initial and final states, and kinematic factors.
(This is the well-known Fermi’s golden rule.) Schematically one can write
this “master” equation as follows.
!
"!
"!
"
Expt.# = SM parameters matrix elements kinematic factors . (3.2)

12格子QCDとその目的・問題点

Akio Tomiya

格子QCD = 強い核力を第一原理的に計算
格子QCD = 離散時空上のQCD (〜1万粒子程度のdofの多粒子の量子力学)
格子QCDを経路積分量子化 = 10万次元程度の多重積分で期待値を計算可能

⟨O⟩ =

∫∏
n,μ

2変数での例dUμ(n) PQCD[U] O[U]PQCD[U] ∝ e−Sg[U]−Sq[U]⟨O⟩ = dx1dx2 P(x1, x2) O(x1, x2)∫− 12 (x12+x22+x1x2)

P(x1, x2) ∝ ex2

ほとんど至る所で確率が0。
台形則等のニュートンコーツ式の数値積分だと、

x1

誤差は、積分の次元で支配(マルコフ連鎖) モンテカルロで積分・期待値を計算
13

格子QCDとその目的・問題点

Akio Tomiya

マルコフ連鎖モンテカルロで量子論の計算ができる
HMC法(ハイブリッドモンテカルロ法)のステップ

1 2 1 2
H[x, p] = p1 + p2 + S(x1, x2)
22

1. x = {x1, x2} を用意する

2. p = {p1, p2} をガウス分布からサンプルする(“サイコロを振る”)
3. x = {x1, x2}とp = {p1, p2} を上記のハミルトニアンから出てくる(仮想的な)運動方程式に従って、数値積分し、x′, p′ を得る
4. H[x, p]とH[x′, p′] を比較し、メトロポリス法を適用し、x の列を得る

サンプルA → サンプルB→ サンプルC

→…

￼

￼

￼

￼

配位(サンプル)をたくさん集めて平均すれば積分したことになる
14

格子QCDとその目的・問題点

Akio Tomiya

マルコフ連鎖モンテカルロで量子論の計算ができる
1 2 1 2
H[x, p] = p1 + p2 + S(x1, x2)22

HMC法(ハイブリッドモンテカルロ法)のステップ

1. x = {x1, x2} を用意する

2. p = {p1, p2} をガウス分布からサンプルする(“サイコロを振る”)
3. x = {x1, x2}とp = {p1, p2} を上記のハミルトニアンから出てくる(仮想的な)運動方程式に従って、数値積分し、x′, p′ を得る
4. H[x, p]とH[x′, p′] を比較し、メトロポリス法を適用し、x の列を得る⟨O⟩ =1

NsampleNsample ∑i=1(i)O[x ] +

const
Nsample

格子QCDの経路積分も、ただの10^5次元多重積分
41⟨O⟩a,L =⋯dUμ(x, y, z, t)e−S(U)O[U]∏ ∏ ∏ ∏∏
Z ∫ ∫ x∈ℤ/L
y∈ℤ/L z∈ℤ/L t∈ℤ/L μ=1

￼

￼

￼

￼

物凄く頑張るとHMCで格子QCDの期待値を評価できる。
15

格子QCDとその目的・問題点

Akio Tomiya

格子QCDの計算はスパコンで！(1980年~)

スパコンで計算して何がわかるのか？
- 陽子/中性子の仲間(ハドロン)の質量- 原子核同士の引力/斥力の様子 (星の生まれて死ぬまでを理解するのに必要)- 高温での陽子/中性子等の溶解の様子 (宇宙の歴史に関わる)- ダークマターの候補の性質 (実験で見つけるには性質を知っておく必要あり)- 陽子/中性子内のクォークの様子- 手計算で計算できない各種係数 (素粒子標準理論と実験との整合性チェックに必要)
などなど…
16

格子QCDとその目的・問題点

Akio Tomiya

色々出来てても問題もある。機械学習?

1
0 = Dog(0)

機械学習で解決したい問題- (いろんな意味で) 計算量の削減。大きな体積、細かい格子間隔での計算をしたい- 符号問題の解決 (今日は触れません)
格子QCDに機械学習を用いる縛り- (マルコフ連鎖モンテカルロ法としての)厳密性。機械学習は近似的😫

- ゲージ対称性、フェルミオン自由度(量子論特有)。機械学習は古典データ- コード💻。ニューラルネット(Python/Jupyter)、格子QCD(C、C++、Fortran)…
17

理論:
ニューラルネットを用いたQCD

18

𝔼
𝔼

理論:ニューラルネットを用いたQCD

Akio Tomiya

フローベースアルゴリズム: 確率分布の簡単化
80年代や2010年ぐらいから、幾度と積分測度を簡単な物にできないか議論されてきた
100 100 100 100

1
[O] =
⋯
dϕx,y,z,te−S(ϕ)O[ϕx,y,z,t]∏∏∏Z ∫ ∫∏
x=1 y=1 z=1 t=1ϕ̃ = ℱ(ϕ)

フロー方程式 (変数変換)

もしS(ℱ(ϕ)) − ln det(Jacobian) = ϕ 2 ならば、
100 100 100 100

1
∂ϕ
−ϕ̃2
[O] =
⋯
dϕ̃O[ℱτ(ϕ)]e det∏∏∏
Z ∫ ∫∏()∂ϕ̃
x=1 y=1 z=1 t=1
ガウス積分なので簡単そう。
適当にやるとヤコビアンは密になってしまい、現実的に計算できない

arxiv 1904.12072, 2003.06413, 2008.05456
19理論:ニューラルネットを用いたQCD

Akio Tomiya

ニューラルネットでフロー方程式をミミックする
2次元スカラー場の理論への正規化フローの応用
各点独立な分布

NNで変数変換

MIT + Deepmind + …
場の理論の分布

ニューラルネットで可逆な変数変換を再現「自明な理論 ←→ 相互作用のある理論」を結ぶ1:1写像
自明な理論(各点独立なガウス分布)でサンプルし、場の理論の配位に変換
Normalizing ow(正規化フロー) という仕組みでできる
ヤコビアンも簡単に計算可能!
arxiv 1904.12072, 2003.06413, 2008.05456
fl20

理論:ニューラルネットを用いたQCD
Flow based ML for QFT∫

Dϕe

MIT + Deepmind + …

−S[ϕ]O[ϕ] ∝∏∫idφie

Original integral: hard

Sample∏Sample−V(φi) −1

J [φ]O[F[φ]]

Easy
Vol

Flow-based sampling algorithm

Akio Tomiyae −V(φi)i

各点が独立な理論

Sample(自明に並列化できる)

Sample

簡単に作れる！

各点が独立な自明な理論からの配位
Flow

Flow

Flow

Flow

Flow

可逆なニューラルネットの積み重ねで変数変換し、配位を変形する(自明化変形を逆に使う)

近似的に相関が取り入れられた配位

Metropolis-Hastings withe −S /e −V(φi)J −1[φ]ただしく相関が取り入れられた配位
Reject(Use left conf.)
arXiv: 2101.08176 and ref therein

Reject(Use left conf.)21

理論:ニューラルネットを用いたQCD
Flow based ML for QFT

∫

Dϕe

−S[ϕ]

O[ϕ] ∝MIT + Deepmind + …

∏∫
i

Original integral: hard

2次元のスカラー場 (MIT+)従来法

Akio Tomiyadφie−V(φi) −1

J [φ]O[F[φ]]

Easy

提案法

https://arxiv.org/abs/1904.12072

効率の悪さ

系の大きさ

系を大きくしても、自己相関が伸びない？
(≒モンテカルロ法の効率が落ちない？) → さらなる探索が必要(分散モデルのような仕組みも応用され始めている)
arXiv: 2101.08176 and ref therein22理論:ニューラルネットを用いたQCD

Akio Tomiya

ゲージ対称性を取り扱えるニューラルネット?

• 非可換ゲージ対称性: QCDの指導原理
−1
−1
A
(x)
→
G(x)A
(x)G
(x)
−
G(x)∂
G
(x) の下で経路積分不変• μμμ• これがないと量子論として矛盾する• ゲージ場 = リー群(ユニタリー行列)の場• 機械学習で出てくるデータ• 大域的対称性は考慮できる(畳み込み、同変性)• ニューラルネットは実数を処理する処理系• どうやる?
23

理論:ニューラルネットを用いたQCD

Akio Tomiya

ゲージ対称性を保ちながらのデータ処理• いろんな手法でニューラルネットにゲージ対称性を担保できる• ゲージ同変ネット (Maximal torus), DeepMind, MIT+arXiv: 2008.05456• リンクごとに対角化、U(1)の位相をニューラルネットへ• ゲージ変換とニューラルネットの処理は交換(同変)• ゲージ共変ネット (trainable smearing) AT, Y. Nagai

arXiv: 2103.11965• スメアリングの係数がbackprop で決定できる事を発見• Stout smearing のNeural ODE = Gradient ow！
• ゲージ変換に対して共変的な構成• 他にも実現ありfl24

理論:ニューラルネットを用いたQCD

Akio Tomiya

MITグループによるFull QCDでの結果• Flow based での、Full QCD in 4dの結果! HMCと無矛盾• 超えるべき壁: 計算速度。Full Python…
• (速度は。。。あとスケーリングも気になる)
https://arxiv.org/abs/2208.03832
25

理論:ニューラルネットを用いたQCD

Akio Tomiya

前処理について: Parallel transport layerの利用

Du = b,(DM)M −1u = b
MをTrainする• ゲージ対称性を保った情報処理(擬フェルミオン場を入力し、擬フェルミオン場を出力する)をゲージ対称性を保ったニューラルネットで• ディラック演算子も、uを入力、D を返す情報処理• ニューラルネットで、前処理行列の処理を近似。
• 反復を10倍程度の改善 (ただし実際の実行速度はPython律速?)
https://arxiv.org/abs/2302.05419, C. Lehner, and T. Wettig
26

コード:
QCD+MLのためのコード開発(2言語問題を解決する)

27

28

29

コード: QCD+MLのためのコード開発

Akio Tomiya

QCD+MLにおける2言語問題• 格子QCD: 1億行、1億列の疎行列・線形方程式を何万回も解く• Massiveな並列化をスパコンの上でやりたい• GPUを使うとしてもマルチGPU前提ですよね…MPIバンザイ• C++かFortran 並のスピードが必要• 機械学習(ニューラルネット): Pythonがデファクトスタンダード。100倍遅い。
• Jupyter Notebookで実験したい。GPU化もほぼ自動で。
• TensorFlow, PyTorch等でならコーディング出来る。Auto-Grad が無いと…
• 複素数? 頑張れば。
• C++とPythonの両方のコーディングが必要???
• Julia なら自然に両立できるんです30コード: QCD+MLのためのコード開発

Akio Tomiya

Speed of Julia ~ Clang
1.Open source scienti c language (Just in time compiler/LLVM backend)
2.Fast as C/Fortran (faster sometimes), Practical as Python
3.Machine learning friendly

Compiler

Benchmark(sec)
single coreType

Parallelism

GPU

Pros👍

Cons👎

Column,row

MPI,othersCUDA

FastPractical
ML feiendly

not major

columnmajor

MPI,
others

CUDA

Fast

Long
codes

row-major

Julia
(1.8)

JIT,
LLVM

0.0014

Dynamic& StaticC

Clang(LLVM)

0.0033

StaticPython+Numba(CPython)
JIT, LLVM

Not fully row-major
Practical
0.0131 Dynamic Available Numba- ML
feiendly supported (Numpy)
CUDA

Note

(Rosetta2
is used inbenchmark)C and Julia have similar speed
Benchmarks are performed on m1 mac mini (similar tendency on Xeon)
Benchmark: Multiplications for 12dim vector and 12x12 complex matrix for 10^4 times (repeated 10 times)
fi

31

31

コード: QCD+MLのためのコード開発

Akio Tomiya

Code comparison (skip)
using Randomfunction main()
T = 10
K = 10^4
N = 12#A = zeros(ComplexF64, (N,N))
V = zeros(ComplexF64, N)
W = zeros(ComplexF64, N)
function myprod(A,V,W)
for k = 1:N
for i = 1:N
W[i] += A[i, k]*V[k]
end
end
end
…(cut)…
Attached in backup#include <stdio.h>#include <complex.h>#include <math.h>#include <time.h>#include <stdlib.h>#define T 10
#define K 10000#define N 12…(cut)…
void myprod(double complex A[N][N], double complex *V,
double complex *W) {for (int k = 0; k < N; k++) {for (int i = 0; i < N; i++) {W[i] += V[k] * A[k][i];}}}Attached in backup…(cut)…

• Complex matrix (12x12) times complex vector (d=12)• One set= 10^4 times, and repeated 10 times and averaged• Code of Julia looks like Python (short, simple) but fast as C

Julia: 0.0014 (sec), C: 0.0033 (sec). Single core performance is similar

I thank Taku Izubuchi

3232コード: QCD+MLのためのコード開発

Akio Tomiya

LLVM = common backend for making binaries on multiple architectures
SourceExecution
Frontend

const K = 5
const N = 1000
A = zeros(Float64, (N,N))
B = zeros(Float64, (N,N))
C = zeros(Float64, (N,N))

Julia Compiler(Just in time)
Optimizing codes

LLVM-optimizer&
LLVM-backend
LLVM-IR

Frontend

Binary

LLVM#include <stdio.h>#define K 5#define N 1000
double A[N][N];double B[N][N];double C[N][N];x86“Clang” Compiler(Ahead of Time)
Optimizing codes

https://www.fujitsu.com/jp/about/businesspolicy/tech/fugaku/
https://ja.wikipedia.org/wiki/Apple_M1
https://ja.wikipedia.org/wiki/Xeon
https://ja.wikipedia.org/wiki/Ryzen
https://gigazine.net/news/20200623-japan-fugaku-fastest-supercomputer/

m1, m2arm

used in Fugaku
See: https://en.wikipedia.org/wiki/LLVM and related pages

33コード: QCD+MLのためのコード開発
Parallelization with A64FX/Fugaku
M. Giordano, arXiv:2207.12762v1 [cs.DC] 26 Jul 2022

Tests of MPI +on Fugaku

Send-Recv performanceFig. 2. Comparison of latency (top panel) and throughput (bottom panel)of inter-node point-to-point MPI communication between using MPI.jl in
Julia and IMB benchmarks in C (results provided by R-CCS in [18]). Fugaku
scheduler setup: -L "node=2" -mpi "max-proc-per-node=1".

has similar scaling of MPI with C(no obvious overhead)

MPI ranks across 384 nodes using the torus layout, to match the34コード: QCD+MLのためのコード開発
Open source LQCD code in Julia Language

Akio Tomiya

AT & Y. Nagai in prep

オープンソース (Juliaオフィシャルパッケージ, Now updated to v1.0)

どこで動く?: Laptop/desktop/Jupyter/Supercomputers
機能:: SU(Nc)-heatbath, (R)HMC, Self-learning HMC, SU(Nc) Stout
Dynamical Staggered, Dynamical Wilson, Dynamical Domain-wall
Measurements

Start LQCD
in 5 min

1. Download Julia binary
2. Add the package through Julia package manager
3. Execute!
https://github.com/akio-tomiya/LatticeQCD.jl

35コード: QCD+MLのためのコード開発
Wilson inversion / MPI parallel, Strong Scaling

Akio Tomiya

AT & Y. Nagai in prep
AT & Y. Nagai in prep

Tested on Yukawa-21@YITP
Absolute execution time

Relative speed up

LatticeDiracOperators.jl# procs

1

2

4

16

32

LatticeDiracOperators.jl

64# procs

1

2

4

16

32

64

良さそうに見えるもうちょっとコントリビューターが必要
We thank to H. Ohno & Issaku Kanamori

36

36
Akio Tomiyaコード: QCD+MLのためのコード開発

Akio Tomiya

Julia 言語でのFlowの公開コード(環境付き, GPU対応)を作りました

https://arxiv.org/abs/2208.08903
https://arxiv.org/abs/2208.08903
ニューラルネットでの変数変換 (Normalisingφϕ = F (NN)[φ]ow)Bijective (1to1) map represented in NN

e −V(ϕi)J −1

e −V(φi)
ランダムな分布からのサンプル

場の理論の分布に従う配位

Neurips Workshop (https://ml4physicalsciences.github.io/2022/) で関連研究も発表
Based on a gure arXiv: 2101.08176
flfi

https://github.com/AtelierArith/GomalizingFlow.jl

37

QCD+MLのための理論とコード

Akio Tomiya

ひとまず出来ることはわかった。やるべきことも。

• 理論サイド: Flow based が良さそう。ただ他の可能性も探るべき。
• 4d SU(3), Full QCDには(ようやく)手が届いた。
• ソルバーへの利用もある。
• ただし実装・実際の計算速度は別問題。まだまだ改善しないと。
• コードサイド: 2言語問題 = 格子QCDとニューラルネットのコーディング• Julia は2言語問題を自然に解決できる• 格子QCDのコードとFlowのJulia コードを作りました!
• 人の手が足りていません。
• まだまだこれから…。
38
KAKENHI: 20K14479, 22H05112,
22H05111, 22K03539

Thanks!

38

39

Applications

Akio Tomiya

Con guration generation with machine learning is developing
Con guration generation for 2d scalar

Restricted Boltzmann machine + HMC: 2d scalar

A. Tanaka, AT 2017
The rst challenge, machine learning + con guration generation. Wrong at critical pt. Not exact.

GAN (Generative adversarial network ): 2d scalar
Results look OK. No proof of exactness

J. Pawlowski+ 2018
G. Endrodi+ 2018

Exact algorithm, gauge symmetry

Flow based model: 2d scalar, pure U(1), pure SU(N)2019, 2020, 2021

Mimicking a trvializing map using a neural net which is reversible and has tractable Jacobian.
Exact algorithm, no dynamical fermions. SU(N) is treated with diagonalization.

L2HMC for 2d U(1) (Sam Foreman+ 2021)
Dynamical fermions, 4 Dimension

Self-learning Monte Carlo (SLMC) for lattice QCD

arxiv 2010.11900 Y. Nagai, AT, A. Tanaka

Non-abelian gauge theory with dynamical fermion in 4dUsing gauge invariant action with linear regression
Exact. Costly (Diagonalize Dirac operator)

Self-learning Hybrid Monte Carlo for lattice QCD (SLHMC, This talk)arxiv 2103.11965 Y. Nagai, AT
Non-abelian gauge theory with dynamical fermion in 4dUsing covariant neural network to parametrize the gauge invariant action
Exact
fi

fi

fi

fi

Gauge covariant neural network and full QCD simulation40

Benchmark

Akio Tomiya

Why Julia? (My personal opinion)• Modern scienti c programming language[1] https://akio-tomiya.github.io/julia_in_physics/[2] https://qr.ae/prgSG5• Easy to make codes. Fast as C/C++ (Julia& C use LLVM)• Fewer compiling/dependency issues.
• Many people are potentially interested in. (More than 400 people registered to“Julia in physics 2022 online workshop” [1]). 4,923 public repo on Github• No two Language problem. “The fact that while the users are programming ina high-level language such as R and Python, the performance-critical parts
have to be rewritten in C/C++ for performance”. [2]• Neural network friendly (Flux.jl). Tensor networks also (iTensor.jl).
• Works on/with• Xeon, Radeon/Apple silicon/A64FX• MPI, GPU
fi

41

41

Package structure

Akio Tomiya

Our lattice QCD codes are constructed by following repositories
Dependency (Automatically solved)

QCDMeasurements.jl
LatticeDiracOperators.jl
Gauge elds.jl
Wilsonloop.jl

Wrapper for LatticeDiracOperators.jl &Gauge elds.jl, QCDMeasurements.jl- Wizard for parameter les- HMC/RHMC for SU(Nc)- Stout + Wilson/Staggered/DW- Heatbath for SU(Nc)- Measurements- Jupyter, Colab/PC/Supercomputers
etc
Measurements in LQCD
(Correlator, Flow, Qtop, etc)

CLIME_jll
ILDG I/O

Fermions (+HMC), Wilson, KS, DW, MPI
PC/Supercomputers
Gauge elds (+HMC/Heatbath), MPI
PC/Supercomputers

Symbolic operations of Wilson/Polyakov loops
See https://github.com/akio-tomiya/LatticeQCD.jl in detail
fi

fi

fi

fi

42