2023년 11월 30일
https://github.com/deepseek-ai/deepseek-LLM
DeepSeek Coder (https://github.com/deepseek-ai/DeepSeek-Coder) 를 냈던 DeepSeek에서 자연어 LLM을 냈군요. 67B, 2T 토큰 학습, 영어와 중국어 Bilingual 모델인데 전반적 성능, 특히 수학과 코딩에서 성능이 높네요.
프리트레이닝을 어떻게 했는가에 대해서 간략한 소개가 있긴 한데 구체적인 정보는 없긴 합니다. 다만 이 트윗의 리플에서 나오는 이야기처럼 (https://x.com/ocolegro/status/1729883964037644614) 고품질의 데이터를 확보하는 과정에서 다국어 데이터가 도움이 될 수 있다는 생각이 드네요. 영어가 데이터가 많긴 하지만 어쨌든 사용 토큰이 늘어날 수록 퀄리티 측면에서 꼬리에 있는 데이터들이 더 포함되게 될 테니까요.
#llm
https://deepmind.google/discover/blog/millions-of-new-materials-discovered-with-deep-learning/
딥마인드의 결정 구조를 생성하는 모형. AlphaFold 2, GraphCast에 이어 이 모델도 GNN을 쓴 모델이네요. 잘 모르는 분야입니다만 모델의 예측 결과를 DFT로 체크해서 성공적인 결과를 학습 데이터로 사용하는 접근을 사용했습니다.
https://www.nature.com/articles/s41586-023-06734-w
같이 나온 논문도 재미있습니다. 이렇게 예측한 결정을 로봇을 사용해서 자동으로 만드는 방법을 테스트해봤습니다. 결정과 관련된 문헌을 LM으로 분석해 레시피를 만들고, 로봇이 레시피대로 합성하게 한 다음, XRD로 결과를 분석하고, 그 결과를 토대로 레시피를 개선하는 흐름을 만들었군요.
DFT나 XRD처럼 피드백을 제공해주는 장치가 있다면 모델과 결합해 성능을 끌어올릴 수 있다는 것을 보여주는 사례가 아닐까 싶습니다.
https://arxiv.org/abs/2311.16867
The Falcon Series of Open Language Models (Ebtesam Almazrouei, Hamza Alobeidli, Abdulaziz Alshamsi, Alessandro Cappelli, Ruxandra Cojocaru, Daniel Hesslow, Julien Launay, Quentin Malartic, Daniele Mazzotta, Badreddine Noune, Baptiste Pannier, Guilherme Penedo)
Falcon 모델에 대한 리포트. 모델 구축을 위한 의사 결정 과정이나 학습 방법 등에 대해서 굉장히 상세하네요.
한계라는 타이틀로 어쩌면 다음 학습에서는 개선하고 싶은 부분들일 것 같은 아이템들이 나와 있는데 이쪽도 재미있습니다. 웹 데이터 사용이나 제한적인 다국어, 코드 데이터 사용 등도 Ablation으로 얻은 결과인데 이 Ablation에 쓴 규모가 작아서 혹시 놓친 부분이 있지는 않았을까? 좀 더 많은 학습 토큰 수를 가져가고 코드 데이터의 비율을 높이는 게 좋지 않았을까? 같은 이야기를 하고 있네요.
#llm
https://arxiv.org/abs/2311.16620
On the Long Range Abilities of Transformers (Itamar Zimerman, Lior Wolf)
Long Range Arena를 태클하는 연구는 오랜만에 보네요. Long Range Arena에서 트랜스포머가 약한 것은 표현력이나 최적화의 문제가 아니라 적절한 inductive bias의 부재에 따른 일반화 능력의 문제 때문이라는 이야기를 합니다.
그러면 성공적인 모델들에는 어떤 inductive bias가 있었는가를 보니 smooth하고 exponential decay가 들어간 conv kernel이 핵심이었다고 합니다. 그래서 attention에 exponential decay를 곱해주고 average pooling으로 smoothing을 추가했네요.
이 결과가 자연어에도 시사하는 바가 있을까요? 사실 자연어에서는 트랜스포머 보다 나은 특성을 보여준 사례가 없어서 적절한 inductive bias가 무엇인지를 논하는 것 자체가 어렵긴 합니다. 그래도 attention 패턴을 계속 들여다보면 LM-Infinite (https://arxiv.org/abs/2308.16137) 에서처럼 현재 attention의 중요한 문제를 발견할 수 있지 않을까 싶네요.
#long_context #transformer
https://arxiv.org/abs/2311.17042
Adversarial Diffusion Distillation (Axel Sauer, Dominik Lorenz, Andreas Blattmann, Robin Rombach)
Diffusion Distillation을 통한 고속 샘플링. Score Distillation (https://arxiv.org/abs/2209.14988) 에 추가적으로 Adversarial Loss를 그대로 붙였군요. Adversarial Loss를 이미지 퀄리티 향상을 위해 추가한다는 아이디어도, 애초에 GAN 자체를 오랜만에 봐서 반갑네요.
#diffusion #distillation #gan
https://arxiv.org/abs/2311.17117
Animate Anyone: Consistent and Controllable Image-to-Video Synthesis for Character Animation (Li Hu, Xin Gao, Peng Zhang, Ke Sun, Bang Zhang, Liefeng Bo)
https://humanaigc.github.io/animate-anyone/
포즈 기반으로 애니메이션을 만드는 모델이네요. Temporal Layer를 끼워넣어 시간적 관계에 대한 모델링을 하고요. 완전히 2D 기반인 게 또 재미있네요.
#video_generation
https://arxiv.org/abs/2311.17311
Universal Self-Consistency for Large Language Model Generation (Xinyun Chen, Renat Aksitov, Uri Alon, Jie Ren, Kefan Xiao, Pengcheng Yin, Sushant Prakash, Charles Sutton, Xuezhi Wang, Denny Zhou)
Self-Consistency는 흥미로운 방법이지만 voting을 하기에 응답이 일정한 형태여야 한다는 제약이 있었죠. 그래서 voting을 기계적으로 하는 대신 응답을 연결한 다음 LLM에 던져서 가장 consistent한 응답이 무엇인지를 출력하게 만들었습니다. 생성보다 검증이 쉽다. 특히 생성 결과가 여러 개 있는 경우에는, 이런 느낌이네요.
#prompt
https://arxiv.org/abs/2311.17541
TaskWeaver: A Code-First Agent Framework (Bo Qiao, Liqun Li, Xu Zhang, Shilin He, Yu Kang, Chaoyun Zhang, Fangkai Yang, Hang Dong, Jue Zhang, Lu Wang, Minghua Ma, Pu Zhao, Si Qin, Xiaoting Qin, Chao Du, Yong Xu, Qingwei Lin, Saravan Rajmohan, Dongmei Zhang)
코드 작성을 기반으로 작동하는 자율 에이전트 설계. 사용자의 요청이 들어오면 요청을 분해하고 계획을 생성합니다. 이 계획 생성 과정에 예제들을 추가해 좀 더 커스터마이즈를 할 수 있게 고려했네요. 그리고 이 계획을 기반으로 코드를 작성하는데, 코드 작성 과정에서 플러그인을 설정할 수 있게 만들었네요. 그 다음 작성한 코드를 검증하고, 코드를 실행하는데 인터프리터로 한 번 실행하고 종료하는 것이 아니라 상태를 유지해서 코드를 계속 실행해나갈 수 있게 만들었습니다.
데이터 분석을 메인 시나리오로 설정하고 있는데 잘 작동한다면 꽤 재미있지 않을까 싶네요.
#agent
https://arxiv.org/abs/2311.17528
HiDiffusion: Unlocking High-Resolution Creativity and Efficiency in Low-Resolution Trained Diffusion Models (Shen Zhang, Zhaowei Chen, Zhenyu Zhao, Zhenyuan Chen, Yao Tang, Yuhao Chen, Wengang Cao, Jiajun Liang)
학습 없이 Diffusion 모델의 해상도 높이기. 얼마 전에 본 Scale Crafter (https://arxiv.org/abs/2310.07702) 가 생각나네요. 첫 레이어에서 Strided conv를 써서 downsampling, 마지막 레이어에서 interpolation으로 upsampling을 하고 blurriness 문제 해결을 위해 샘플링 과정의 초기에만 downsample/upsample을 사용하는 네트워크를 적용합니다.
추가로 속도가 너무 느린 것을 해소하기 위해 self attention을 window self attention으로 교체했네요.
#diffusion
https://arxiv.org/abs/2311.17901
SODA: Bottleneck Diffusion Models for Representation Learning (Drew A. Hudson, Daniel Zoran, Mateusz Malinowski, Andrew K. Lampinen, Andrew Jaegle, James L. McClelland, Loic Matthey, Felix Hill, Alexander Lerchner)
서로 다른 뷰 두 개를 가지고 하나의 뷰를 인코더에 넣어 압축한 다음, 압축된 벡터를 디코더의 각 레이어에 feature modulation으로 연결해서 representation learning과 새로운 뷰에 대한 생성을 가능하게 한다는 아이디어.
#representation #diffusion
https://arxiv.org/abs/2311.17921
Do text-free diffusion models learn discriminative visual representations? (Soumik Mukhopadhyay, Matthew Gwilliam, Yosuke Yamaguchi, Vatsal Agarwal, Namitha Padmanabhan, Archana Swaminathan, Tianyi Zhou, Abhinav Shrivastava)
Diffusion 모델에서 representation을 추출하기. diffusion 모델 특성상 어떤 레이어에서, 어떤 스텝에서 representation을 가져올 것인지가 문제가 되는 군요. 그리고 이걸 골라오더라도 그냥 linear probing으로는 충분하지 않고 그 위에 트랜스포머 레이어를 올려야 성능이 나오네요. 여기에 더해 여러 블럭과 스텝의 feature 위에 트랜스포머를 올리거나, upsampling block의 feature를 downsampling block 쪽으로 피드백하는 구조 등을 설계해 테스트했습니다.
사실 feature 위에 올리는 게 많을 수록 헤드가 해준 것이라고 할 수도 있긴 합니다. 그렇지만 최소한 중요한 정보의 손실은 없었다고 할 수 있겠군요.
#diffusion