본문 바로가기

논문 리뷰/머신러닝

Scaling deep learning for materials discovery

제목: Scaling deep learning for materials discovery

저자: Amil Merchant, Simon Batzner, Samuel S. Schoenholz, Muratahan Aykol, Gowoon Cheon & Ekin Dogus Cubuk

Nature (2023). https://doi.org/10.1038/s41586-023-06735-9

 

최근에 Nature 본지에 서로 연관된 두 개의 논문이 올라왔는데, 하나가 이 논문이고 다른 하나는 Ceder group에서 나온 논문이다. 이 논문의 내용을 요약하면 Google Deepmind가 딥러닝 모델을 이용해 220만 개의 새로운 재료를 발견했고, 그 중 381,000개가 안정한 ($E_\mathrm{hull}=0$) 인 재료라고 한다. Ceder group에서는 이렇게 발견된 재료들 중 58개를 선정해서 역시 딥러닝을 활용한 합성 공정을 설계해서 41개를 합성하는 데 성공하였다고 한다. 이번 리뷰에서는 첫 번째 논문을 리뷰해 볼 것이고, 두 번째 논문을 리뷰할 계획은 없다. 

 

논문을 읽고 난 느낌은 역시 구글의 컴퓨팅 능력은 막강하다는 것이었다. 220만 개의 재료를 발견했다고 하는데, 실제로는 수백만 개의 시스템에 대한 DFT 계산 (relaxation)을 수행했을 것이라 생각된다. 이건 일개 연구실 단위에서는 꿈도 못 꿀 거고, 구글이니까 가능했다고 본다. 한편 논문이 세부적인 방법론에 있어서 설명이 좀 불친절하다는 생각이 들었다. 내가 네이처 논문을 이해하기에는 아직 한참 멀어서 그런 것일 수도 있다. 물론 그런 게 잘 설명되어 있어도 내가 이걸 재현해볼 수는 없을 것이다. 아직 논문이 나온지 얼마 안돼서 github도 부실한데, 나중에 좀 채워지면 코드를 직접 보는게 좋을 것 같다.

 

이 논문에서는 위와 같은 framework를 통해 기존에 존재하지 않았던 novel 한 재료를 발견하고자 하였다. 일단 두 개의 pipeline이 보이는데, 각각은 독립적으로 진행된 걸로 이해했다. 각 pipeline에서 얻은 구조 또는 조성들을 GNN을 통해 stability를 예측하고 (formation energy를 예측해서 $E_\mathrm{hull}$ 을 계산), stability가 높을 것으로 예측된 구조 또는 조성에 대해 DFT 계산을 수행한 다음 그 결과를 GNoME database에 저장한다. 그리고 이를 이용해 또 모델을 학습하고, 그렇게 업데이트된 모델을 이용해 또 각 pipeline에서 얻은 구조의 stability를 예측하고, DFT 계산하는 것을 반복해 안정한 새로운 재료를 계속해서 발견해나가는 방식이다. 사실 이렇게만 보면 아주 특별한 건 없어 보인다. 세부적으로 들어가면 기존 문헌과는 다른 부분들이 있지만, 아무래도 네이처에 나올 수 있었던 건 결국 스케일이 엄청나게 크기 때문인 것 같다. 

 

Structural pipeline에서는 기존에 보고된 치환 방식을 조금 변형해서 사용하였는데, 기존 방식이 아마 Materials Project가 출범할 즈음에 나온 논문에서 제안됐는데 Materials Project 개발자들이 저자로 들어가 있어서 거기서 사용한 방식일지도 모르겠다. 기존 방식에서는 아무래도 이미 알려져 있는 재료랑 비슷한 것들이 많이 나오게 되는데, 이를 약간 수정해서 novel한 재료가 잘 나올 수 있게 했다고 한다. 이렇게 해서 얻은 새 구조 candidate에 대해 GNN으로 stability를 예측한다. 한편 compositional pipeline에서는 database에 있는 어떤 조성을 input을 받아서 이 조성의 stability를 조성기반 GNN 모델로 예측한다. 그러면 안정하다고 예측된 조성에 대해서 random search를 통해 구조를 얻고, DFT 계산으로 relaxation시킨다. 

 

이렇게 해서 새롭게 얻은 재료 및 DFT 에너지를 database에 추가하고, 이는 다시 모델을 학습시키는 데 사용된다. 일종의 active learning의 성격을 띠게 되고, ensemble을 만들어서 uncertainty도 계산했다고 하는데 실제로 학습시킬 때 데이터를 어떻게 선택했는지는 설명이 없다. 얻은 모든 재료를 다 학습데이터에 넣은 건지 어떤 uncertainty의 기준을 설정해서 기준 이상인 것들만 넣었는지는 모르겠다. 참고로 위 pipeline에서 stable의 기준은 예측된 $E_\mathrm{hull}$이 50 meV 이하인 것으로 설정한 것으로 보인다.

 

그렇게 해서 381,000개의 새로운 안정한 재료를 발견했다. 참고로 안정성을 평가할 때는 주로 $E_\mathrm{hull}$을 이용해 평가하는데, 이는 database에 의존하기 때문에 database가 업데이트되면 energy convex hull이 달라질 수 있다. 그래서 논문에서 언급하는 220만 개라는 숫자는 기존 MP database로 구축된 energy convex hull과 비교했을 때 안정한 ($E_\mathrm{hull}=0$) 재료의 개수이고, 위 과정을 통해 구축한 새 database로 energy convex hull을 업데이트하게 되면 381,000개가 안정한 것으로 드러났다는 뜻이다. 그래서 381,000이라는 숫자가 얼마나 큰지 보여주는 그림과, 이 중에서 736개는 실제로 실험적으로 보고된 바가 있는 것이라고 한다. 그 중에 일부가 그림으로 나타나 있다.

 

한편 ChatGPT와 같은 large language model (LLM) 에서는 데이터를 엄청 많이 쏟아부었더니 갑자기 안 되던 게 된다는 등의, emergent capability를 언급하곤 한다. 이 논문에서도 GNoME이 그러한 emergent capability를 보여주고 있다고 주장하는데, 위 그림 오른쪽 아래에 있는 OOD 데이터 (random search로 얻은 구조) 에 대한 예측 성능을 보면 data 수가 더 많아지면서 예측 성능이 기하급수적으로 좋아지는 것을 알 수 있다.

 

사실 내가 더 주목했던 부분은 이 GNoME data로 학습한 machine learning interatomic potential (MLIP) 의 성능인데, 일단 모델은 Nequip model을 차용했다. 최근에 보고되기 시작한 일명 universal MLIP들은 MP data 같은, 구조최적화 과정에서 나오는 trajectory에 대해 학습이 되어 있기 때문에 구조최적화는 잘 할지 몰라도 고온에서의 molecular dynamics (MD) 는 하기 어려울 것이라 생각되었다. 실제로 내가 테스트해본 결과 대부분의 경우 MD를 하면 예측이 많이 빗나갔다. 물론 그럼에도 MD가 터지지 않고 어쨌든 진행이 됐으며, 정성적으로는 AIMD 결과를 재현하는 것을 보면 놀랍긴 하다. 그런데 이 논문에서는, AIMD data가 전혀 없음에도 고온에서의 AIMD snapshot의 force를 잘 예측하고 있다고 한다. 특히 GNoME: intermediate structures가 구조최적화 과정에서 나온 모든 trajectory를 다 학습시킨 모델인데, 데이터 수가 어마어마한 것을 볼 수 있다. 오른쪽 위 그림에서 training data에는 없는 재료인 K24Li16P24Sn8 의 1000 K에서의 AIMD snapshot의 force MAE가 training data size에 따라 기하급수적으로 감소하고, 특히 GNoME: intermediate structures에서는 아주 낮은 force MAE를 보여주고 있다. 즉 zero-shot 성능이 기하급수적으로 좋아진다고 주장하고 있다. 또한 오른쪽 아래 그림에서는 다른 universal MLIP와의 비교를 보여주고 있는데, elemental system의 force를 예측했을 때 더 잘 예측하고 있고, 특히 Ni는 GNoME의 training data에는 없는데도 예측을 제일 잘 하고 있다. 

 

이 그림은 Supplementary에 있는 그림인데, 여기서는 1000 K와 400 K AIMD snapshot에 대한 예측 성능을, 400 K AIMD data로 finetuning 시킨 것과, scratch에서 학습시킨 것, 그리고 pretrained GNoME (이 경우 zero-shot) 을 비교해서 보여주고 있다. 총 4가지 재료에 대해서 이런 그림이 있는데, 그 중에 일부를 가져온 것이다. 적어도 이 경우, 그리고 가져오지 않은 다른 3가지 경우에 대해서도 이미 zero-shot 성능이 400 K와 1000 K 모두에서 충분히 좋다. 그리고 400 K data로 finetuning을 하면 400 K와 1000 K에서 모두 더 성능이 좋아지는 편이지만, 오른쪽의 경우에는 finetuning을 했을 때 400 K 성능은 좋아지지만 1000 K 성능은 비슷하거나 오히려 약간 떨어지기도 했다. 논문에서는 오른쪽 재료가 400 K에서는 리튬의 이동이 일어나지 않았지만 1000 K에서는 일어났고, 그래서 모델이 리튬의 이동이 없는 400 K에 overfitted 되면서 리튬의 이동이 일어나는 1000 K 성능은 개선되지 않는 것이라고 말하고 있다. 즉 리튬의 이동이 수반되는 snapshot은 data에 없었고, 그런 구조는 기존 data와 비교했을 때 너무 다른 종류의 data이기 때문에 예측성능이 더 좋아지지 않았다고 볼 수 있다. 결국 GNoME 모델도, 아직 정식 배포된 게 아니라 확인해보지는 못했지만, Li superionic conductor에 대해서는 예측을 틀리게 할 가능성이 높다고 생각이 된다. 그렇지만 기존 universal MLIP와 비교하면 당연히 data가 훨씬 (수백 배 이상) 많고, 그 덕분에 철저히 zero-shot인 고온에서의 AIMD snapshot 예측도 어느정도 해 내는 건 놀라운 사실인 것 같다. 이런 부분 때문에 emergent capability가 발현됐다고 주장하는 것으로 생각된다.

 

기존의 재료과학에서 딥러닝은 보통 기껏해야 수만 개가 넘는 수준의 데이터를 사용했는데, 이렇게 데이터의 크기를 늘리면 어떻게 되는지 보여주는 논문이라 흥미롭게 읽은 것 같다. 그리고 방법론의 디테일한 부분들이 코드로 공개된다면, 아직 나는 그런 부분들도 많이 부족하고 공부해야 하기 때문에 좋은 자료가 될 것 같다. 

 

추가: LinkedIn에서 Shyue Ping Ong이 이 논문에 대해 비판한 글을 봤는데, 구글에서 이 논문에서 model 학습에 사용한 전체 data 및 최종 학습된 모델을 공개하지 않을 예정이라고 한다. 논문이나 github를 보면 그걸 공개하지 않겠다는 말은 없긴 한데, 공개하겠다는 말도 없다. 저 내용이 사실이라면, 실망스러운 결정이라고 생각되긴 한다. 최소한 모델 정도는 공개를 해 줬으면 좋겠다는 생각이 든다.

'논문 리뷰 > 머신러닝' 카테고리의 다른 글

GNoME 반박 논문  (0) 2024.11.06