Closed kwjy1 closed 1 year ago
안녕하세요. 입력값인 docs의 list 길이가 100이라는 것은 모델에 100 batch size로 입력값이 들어간다는 뜻입니다. 그렇기에 @kwjy1님께서 사용하고 계신 gpu의 메모리에 따라 OOM 문제가 발생할 수 있으므로 입력값의 크기를 조정하거나 더 많은 메모리를 할당할 수 있는 gpu 사용을 권장해드립니다.
빠른 답변 감사합니다. 저도 그런 문제인것 같아 배치를 나누어 반복문을 구성하였는데 결국 메모리가 쌓여서 OOM 문제가 발생하더라고요
embeddings list에 계속해서 gpu tensor 값이 append 되기 때문에 발생하는 OOM으로 보입니다. embeddings.append 코드에서 gpu tensor 값을 cpu로 변경하여 적재하시면 해결될 것 같습니다.
embeddings_batch.cpu().detach().numpy()
해결되었습니다. 감사합니다!
Problem solved. Thanks a lot !!!
sentence embedding을 위해 3000개 정도 되는 문장 리스트에 대해 임베딩을 시도하면 OOM 문제가 발생합니다.
100개 이내의 문장을 쓸 때는 문제가 없는걸 보면 모델이 계속 메모리에 적재되는 것 같습니다.
del model torch.cuda.empty_cache() gc.collect()
등을 활용해보긴 했는데 해결이 되지 않습니다.