groq과 llama3...

llama3를 local에서 GPU 도움 없이 돌리면 로컬의 모든 CPU core를 이용해서 돌리는 데도 꽤나 힘겹다는 느낌을 받는다. 그러나 일단 내가 아는 바로 llama3를 openMP 같은 것으로 병렬로 돌릴 수 있는 옵션은 주어지지 않았기에 해보지 않아서 모르겠지만 적어도 같은 일을 10대의 PC에서 나눠 돌리거나 GPU farm 같은 걸 이용하면 엄청나게 빨라질 수 있다는 생각은 쉽게 해볼 수 있다.

Groq는 어떤 묘수를 부려서 이런 결과를 내주는지는 모르지만 뭐랄까 로컬에서 돌아가는 llama3를 보다가 보면 거의 빛과 같은 속도로 답을 내준다. 사실 연산과정을 integer로 바꿔주고 weight의 크기를 잘만 scaling해서 연산기를 덜 괴롭히면서도 좋은 결과를 얻어내게만 할 수 있다면 (여태 수많은 이들이 여기에 많은 노력을 기울인 것으로 안다) 전력도 적게 먹으면서 값비싼 하드웨어 없이도 AI의 혜택을 누릴 수 있는 것 아닌가?

사실 llama3만 해도 크기가 얼마 되지 않는데 (그러니까 내 스마트폰의 기본 메모리에 비하면 턱없이 작다) 그렇게 많은 일을 할 수 있으니까 얼마 안가서 대부분의 llm이 다 로컬에서 돌게 된다면, 또 무지막지하게 복잡한 일을 시킬 때만 온라인으로 작업할 수 있다면 참으로 행복한 일이지 싶다.

더군다나 signal processing을 예로 들어보면 수많은 논문들이 ML로 기존의 어려운 문제들을 잘도 풀어냈다 라고 하고 나오고 있는데, 이를테면 처리하는 신호의 dynamic만 획기적으로 줄여서 이를테면 복잡한 floating point 내지는 semi-floating point number로 처리해야 하는 것들을 8b 수준의 integer로 처리할 수 있게 했다만 되도 정말 획기적인 것 아닌가? 그러니까 signal processing 입장에서는 transform layer 몇 개 거쳤을 뿐인데, 신호 변화의 정수만을 뽑아서 간단한 연산기로 모두 처리하게 말이다.

그런데 뭐 이것은 나의 허황된 상상에 그치리라 생각된다. 실제로 해보면 또 전혀 생각못했던 구석에서 문제가 불거져 나올테니.

참으로 재미있는 세상이다.