Q1. 인공지능 학습을 여러번 해보신것 같은데 배치크기가 뭐죠?
배치 크기랑 인공지능 학습에서 gpu가 한 번에 몇 개의 시퀀스를 처리할 것인지를 정한 것입니다. GPU 입장에서 한 번에 처리할 시퀀스 묶음 수를 의미하는데요.
이제 여기서 시퀀스라고 하는 것이 뭐냐면 이제 언어 모델에서 토큰이 들어올 때 전체 토큰을 GPU가 한 번에 처리할 수 없기 때문에 이 토큰을 맥스 랭스라고 해서 한 번에 GPU가 받아들일 수 있는 토큰 양을 정합니다.
그래서 예를 들어 맥스 랭스가 256이라고 한다면 전체 토큰을 256개마다 토막을 내서 처리를 하겠죠.
그러면 이제 이 토막 낸 하나를 하나의 단위를 시퀀스라고 부르고요.
예를 들어 배치 크기가 1이라고 하면 한번에 하나의 시퀀스를 처리한다는 것이고, 배치 크기가 2라면 두 개의 시퀀스를 처리한다는 것을 의미를 합니다.
Q2. 배치크기가 작을때, 클때를 비교해 보세요.
배치 크기가 작을 때는 학습에서 그 모델이 최적의 경로를 찾을 때 더 많이 방향 전환을 할 수 있다는 것을 의미를 합니다.
왜냐하면 그만큼 가중치가 여러 번 업데이트가 되니까요.
그래서 아웃라이어라고 부르는 평균값에 벗어나는 값들도 고려를 해서 바로바로 반영할 수 있다는 점이 장점잊니다. 대신에 가중치 업데이트가 많이 되기 때문에 학습이 조금 불안정할 수 있다는 단점이 존재합니다.
이제 배치 크기가 클 때를 이야기 해보면
예를 들어 전체 데이터의 개수가 n인데 그 배치 크기가 n이라고 한다면, 사실 한 번에 최적의 경로를 찾는 것과 같은 거거든요. Gpu 성능이 보장된다는 전제하에 학습시간은 빨라질 수 있지만 메모리를 많이 소모할 수 있습니자. 한 번에 최적의 경로를 찾아버리다 보니까 기울기가 바뀌는 극소값에 빠져버려서 정말 정말 필요한 최솟값을 발견하지 못한다든지 이런 문제들이 생기게 됩니다.
그래서 반드시 배치 크기가 작거나 크다고 해서 장점이 있는 것이 아니라 전반적인 GPU의 램이나 아니면 학습 데이터 그리고 모델의 이제 파라미터 수 이런 거를 골고루 고려를 해서 적절한 배치 크기를 정하는 것이 필요합니다.
'ai' 카테고리의 다른 글
[기술면접] 본인 프로젝트에서 어떤 파인튜닝 기법을 사용하셨나요? (0) | 2025.01.23 |
---|---|
[기술면접] 맡은 파트와 한 일이 뭐죠? (0) | 2025.01.08 |
[멀티턴 대화학습] 최적화된 학습데이터의 형태는? (0) | 2025.01.08 |
[기술면접] 인공신경망이란 무엇이고, 어떻게 작동되나요? (0) | 2025.01.08 |
[기술면접] 딥러닝과 머신러닝의 차이점? (0) | 2025.01.08 |