Transcript · English → Korean
Simplifying Processes in Technology
단순화하라고 말하기는 쉽지만 실행하기는 매우 어렵습니다.
제게는 주문처럼 외우는 아주 기본적인 제1원리 알고리즘이 있습니다.
첫째는 요구사항에 의문을 제기해 요구사항을 덜 터무니없게 만드는 것이죠.
요구사항은 언제나 어느 정도 터무니없으므로 우선 그 수를 줄이는 것부터
시작해야 합니다.
그 요구사항을 준 사람이 아무리 똑똑하더라도 그 요구사항은 여전히
어느 정도는 터무니없습니다.
거기서부터 시작해야 합니다. 그렇지 않으면 잘못된 질문에 대한 완벽한 답을
얻게 될 수도 있으니까요.
그러니 질문을 최대한 덜 잘못되게 만들도록 노력해야 합니다.
요구사항에 의문을 제기한다는 것은 바로 그런 뜻입니다.
그리고 두 번째는 단계가 무엇이든, 부품이든 공정 단계든 간에
삭제하도록 노력하는 것입니다.
매우 당연한 말 같지만, 사람들은 종종 그것을 완전히 삭제하는 것을 잊어버립니다.
그리고 삭제한 것의 최소 10%를 다시 되돌려 놓아야 하는 상황이 아니라면,
충분히 삭제하지 않은 것입니다.
다소 비논리적이게도, 사람들은 대부분 성공했다고 느끼곤 합니다
다시 되돌려 놓아야 하는 상황이 생기지 않았을 때 말이죠.
하지만 실제로는 그렇지 않습니다. 너무 보수적으로 접근해서
남겨두지 말아야 할 것들을 남겨두었기 때문입니다.
그러므로 세 번째 단계에서야 비로소 그것을 최적화하거나 단순화해야 합니다.
다시 말씀드리지만, 제가 말할 때는 이 모든 것이 정말 너무나 당연하게 들리겠지만,
제가 이런 실수를 저지른 횟수는 기억하고 싶지 않을 정도로 많습니다.
그것이 바로 제가 이 주문을 외우는 이유입니다.
그래서 사실, 똑똑한 엔지니어들이 저지르는 가장 흔한 실수는 최적화하는 것입니다
존재해서는 안 되는 것이죠.
맞아요.
그러니까 말씀하신 대로, 알고리즘을 실행해서 기본적으로 문제에 접근하고,
슈퍼컴퓨터 클러스터에 접근해 프로세스를 보고 '이걸 삭제해도 될까?'라고 묻는 거군요.
네.
우선 삭제를 시도해 보는 거죠.
네.
네.
그건 쉽지 않은 일이에요.
맞아요, 그리고 사실 사람들이 보통 불안해하는 이유는 삭제하는 것 중 적어도 일부는
나중에 다시 되돌려 놓아야 하기 때문입니다.
네.
하지만 우리의 대뇌변연계가 우리를 잘못된 길로 인도하는 부분으로 돌아가 보면, 우리는
과거에 삭제했다가 나중에 필요해졌던 것을
때로는 고통스러울 정도로 생생하게 기억하는 경향이 있습니다.
네.
그래서 사람들은 3년 전에 이걸 다시 넣는 걸 깜빡해서
문제가 생겼던 그 한 번의 기억을 떠올리는 거죠.
그래서 과도하게 수정하다가 너무 많은 것을 집어넣어 상황을
복잡하게 만들죠.
그래서 실제로 이렇게 말해야 합니다, '우리는 의도적으로 필요한 것보다 더 많이'
'삭제할 것입니다'라고요.
적어도 10개 중 하나는 다시 추가하게 될 것이라는 뜻이죠.
음-흠.
그리고 당신이 바로 그렇게 제안하는 것을 보았습니다, 무언가를 삭제해야 한다고 하면 어느 정도
고통스러워하는 게 보이죠.
아, 맞아요.
전적으로요.
누구나 약간의 고통을 느낍니다.
정말 그렇습니다.
그래서 미리 말해두죠, '우리가 삭제하는 것 중 일부는 다시'
'추가하게 될 것'이라고요, 그러면 사람들은 조금 충격을 받습니다.
하지만 그게 말이 되는 게, 아무것도 다시 추가할 필요가 없을 정도로 너무 보수적이라면
분명 필요 없는 것들이 아주 많이 남아있을 테니까요.
그러니 과도하게 수정해야 합니다.
이것은 말하자면 올림픽 본능에 대한 대뇌 피질의 제어 같은 것입니다.
우리를 잘못된 길로 인도하는 많은 것들 중 하나죠.
네.
그리고 4단계도 있는데, 그것은 어떤 일이든 속도를 높일 수 있다는 것입니다.
그것이 얼마나 빨리 끝날 수 있다고 생각하든 간에 말이죠.
현재 진행되는 속도가 어떻든 간에 더 빠르게 처리할 수 있습니다.
하지만 삭제하고 최적화하기 전까지는 속도를 높여서는 안 됩니다.
그렇지 않으면 존재해서는 안 될 터무니없는 것의 속도를 높이는 꼴이 되니까요.
그리고 다섯 번째는 자동화하는 것입니다.
저는 무언가를 자동화하고 속도를 높였다가 거꾸로 돌아간 적이 아주 많았습니다.
단순화한 다음 결국 삭제하곤 했는데 그런 짓에 지쳐서 이런 주문을 갖게 되었습니다.
이것은 매우 효과적인 5단계 프로세스이며 아주 잘 작동합니다.
이미 자동화한 상태에서 삭제하는 것은 정말 고통스러운 일일 겁니다.
네, 좋네요. 그러니까, 와, 제가 거기서 정말 헛수고를 많이 했네요.
네.
제 말은, 멤피스의 클러스터로 해내신 일은 정말 놀랍습니다, 불과 몇
주 만에 말이죠.
네, 아직 작동하는 건 아니라서 샴페인 코르크를 따고 싶지는 않네요.
사실 몇 시간 후에 멤피스 팀과 통화가 있습니다, 왜냐하면 저희가 몇 가지
전력 변동 문제를 겪고 있거든요.
그래서, 네, 일종의, 동기화된 학습을 진행할 때, 이 모든 컴퓨터들이
학습을 하고 있고, 그 학습이 밀리초 수준으로 동기화되어 있을 때는, 마치
오케스트라를 둔 것과 같습니다. 오케스트라가 아주 빠르게, 1초 미만의
수준에서 큰 소리에서 무음으로 바뀔 수 있고, 그러면 전력 계통이 그것 때문에 요동치게 되죠.
초당 수차례씩 10, 20메가와트의 급격한 전력 변화가 갑자기 발생한다면, 이는 전력
계통이 예상하는 상황이 아닙니다.
그래서 해결해야 할 주요 과제 중 하나가 바로 냉각과 전력, 그리고
소프트웨어 측면에서 스택을 올라가며 분산 컴퓨팅을 어떻게 처리할 것인가 하는
그런 것들입니다.
네, 오늘의 문제는 극심한 전력 지터를 해결하는 것입니다.
전력 지터요.
네.
어감이 아주 좋네요.
그렇군요, 알겠습니다.
그리고 늘 그렇듯이 거기서 밤을 지새우셨겠군요.
지난주에 그랬죠, 네.
지난주에요, 맞습니다.
네, 신기하게도 지난주 월요일 새벽 4시 20분쯤에 마침내 훈련을 시작했습니다.
완전한 우연이죠.
네.
제 말은, 아마 4시 22분쯤이었을 수도 있어요.
네, 맞아요.
네.
우주가 또 장난을 치는군요.
네, 맞습니다.
정말 마음에 드네요.
그러니까, 당신이 하신 일 중 하나에 대해 말씀해 주실 수 있을까요?
제가 거기 있었을 때 모든 직원이 하는 일의 모든 단계를 직접 거치셨는데,
본인 스스로가 그것을 이해하고, 다른 사람들도 이해할 수 있도록 해서
어떤 부분이 비합리적이거나 비효율적인지 등을 파악할 수 있도록 말이죠.
네.
그 점에 대해 말씀해 주시겠어요?
네.
그래서 저는 현장에 있는 직원들이 하는 일이라면 무엇이든 최소한
몇 번은 직접 해보려고 노력합니다.
광케이블을 연결하고 결함이 있는 연결을 진단하는 일인데, 이것이 보통
대규모 학습 클러스터의 병목 요인이 되곤 합니다. 바로 케이블 연결이죠.
케이블이 정말 많거든요.
왜냐하면 RDMA, 즉 원격 직접 메모리 액세스가 있는 일관된 학습 시스템의 경우,
전체가 하나의 거대한 두뇌와 같기 때문입니다.
그래서 다대다 연결이 되는 거군요.
그러니까 10만 개의 GPU 중 어떤 GPU든 서로 통신할 수 있는 거죠.
케이블 배선이 정말 엄청나네요.
꽤 멋져 보여요.
네.
마치 인간의 뇌 같지만, 인간이 눈으로 볼 수 있는 규모인 거죠.
그 자체가 뇌죠.
네.
인간의 뇌도 뇌 조직의 엄청난 양이 케이블로 되어 있거든요.
네.
연산을 담당하는 회백질이 있고, 그다음 백질이 있는데
이 백질이 케이블입니다.
뇌의 아주 큰 부분이 그저 케이블인 셈이죠.
슈퍼컴퓨터 센터를 걸어 다닐 때 마치 우리가 걸어 다니는 느낌이었어요
언젠가 초지능, 초초지능
시스템을 구축할 뇌 속을 말이죠.
End of transcript · 897 words · machine translated
Original transcript (English)
Well, it's easy to say simplify and it's very difficult to do it. You know, I have this very basic first principles algorithm that I run kind of as like a mantra, which is to first question the requirements, make the requirements less dumb. The requirements are always dumb to some degree, so you want to start off by reducing the number of requirements.
And no matter how smart the person is who gave you those requirements, they're still dumb to some degree. You have to start there because otherwise you could get the perfect answer to the wrong question. So, so try to make the question the least wrong possible.
That's what questioning the requirements means. And then the second thing is try to delete the, whatever the step is, the part or the process step. It sounds very obvious, but people often forget to try deleting it entirely. And if you're not forced to put back at least 10% of what you delete, you're not deleting
enough. And it's somewhat illogically, people often, most of the time, feel as though they've succeeded if they've not been forced to put things back in. But actually they haven't, because they've been overly conservative and have left things in there that shouldn't be.
So, and only the third thing is try to optimize it or simplify it. Again, it sounds, these all sound, I think, very, very obvious when I say them, but the number of times I've made these mistakes is more than I care to remember. That's why I have this mantra. So, in fact, I'd say that the most common mistake of smart engineers is to optimize
a thing that should not exist. Right. So, like you say, you run through the algorithm and basically show up to a problem, show up to the supercomputer cluster and see the process and ask, can this be deleted? Yeah.
First try to delete it. Yeah. Yeah. That's not easy to do. No, and actually, what generally makes people uneasy is that you've got to delete at least
some of the things that you delete, you will put back in. Yeah. But going back to sort of where our limbic system can steer us wrong is that we tend to remember with sometimes a jarring level of pain where we deleted something that we subsequently needed.
Yeah. And so, people remember that one time they forgot to put in this thing three years ago and that caused them trouble. And so, they overcorrect and then they put too much stuff in there and overcomplicate things.
So, you actually have to say, look, we're deliberately going to delete more than we should. It's that we're putting at least one in 10 things we're going to add back in. Mm-hmm. And I've seen you suggest just that, that something should be deleted and you can kind
of see the pain. Oh, yeah. Absolutely. Everybody feels a little bit of the pain. Absolutely.
And I tell them in advance, like, yeah, there's some of the things that we delete we're going to put back in and that people get a little shook by that. But it makes sense because if you're so conservative as to never have to put anything back in, you obviously have a lot of stuff that isn't needed. So, you got to overcorrect.
This is, I would say, like a cortical override to Olympic instinct. One of many that probably leads us astray. Yeah. And there's like a step four as well, which is any given thing can be sped up. However fast you think it can be done.
Like whatever the speed is being done, it can be done faster. But you shouldn't speed things up until you've tried to delete it and optimize it. Otherwise you're speeding up something that shouldn't exist as absurd. And then the fifth thing is to automate it. And I've gone backwards so many times where I've automated something, sped it up.
Simplified it and then deleted it, and I got tired of doing that, so that's why I've got this mantra that is a very effective five-step process, it works great. When you've already automated, deleting must be real painful. Yeah, it's great, it's like, wow, I really wasted a lot of effort there. Yeah.
I mean, what you've done with the cluster in Memphis is incredible, just in a handful of weeks. Yeah, it's not working yet, so I don't want to pop the champagne corks. In fact, I have a call in a few hours with the Memphis team, because we're having some power fluctuation issues.
So, yeah, it's kind of a, when you do synchronized training, when you have all these computers that are training, where the training is synchronized to the sort of millisecond level, it's like having an orchestra, and then the orchestra can go loud to silent very quickly, sub-second level, and then the electrical system kind of freaks out about that. If you suddenly see giant shifts, 10, 20 megawatts, several times a second, this is not what electrical
systems are expecting to see. So that's one of the main things you have to figure out, the cooling, the power, and then on the software, as you go up the stack, how to do the distributed compute, all of that. Yeah, today's problem is dealing with extreme power jitter.
Power jitter. Yeah. It's a nice ring to that. So that's, okay. And you stayed up late into the night, as you often do, there.
Last week, yeah. Last week, yeah. Yeah, we finally got training going at, oddly enough, roughly 4.20 a.m. last Monday. Total coincidence. Yeah.
I mean, maybe it was 4.22 or something. Yeah, yeah. Yeah. It's that universe again with the jokes. Yeah, exactly.
I just love it. I mean, I wonder if you could speak to the fact that you, one of the things that you did when I was there is you went through all the steps of what everybody's doing, just to get a sense that you yourself understand it, and everybody understands it so they can understand when something is dumb, or something is inefficient, or that kind of stuff.
Yeah. Can you speak to that? Yeah. So I try to do, whatever the people at the front lines are doing, I try to do it at least a few times myself.
So connecting fiber optic cables, diagnosing a faulty connection, that tends to be the limiting factor for large training clusters, is the cabling. So many cables. Because for a coherent training system where you've got RDMA, so remote direct memory access, the whole thing is like one giant brain.
So you've got any to any connection. So it's the, any GPU can talk to any GPU out of 100,000. And that is a crazy cable layout. It looks pretty cool. Yeah.
It's like, it's like the human brain, but like at a scale that humans can visibly see. It is a brain. Yeah. I mean, the human brain also has a massive amount of the brain tissue is the cables. Yeah.
So they get the gray matter, which is the compute, and then the white matter, which is cables. A big percentage of your brain is just cables. That's what it felt like walking around in the supercomputer center is like, we're walking around inside a brain that will one day build a super intelligent, super, super intelligence
system.