cur_image_idx을 pass 처리한 이유가 궁금합니다.
metterian opened this issue · 2 comments
metterian commented
위의 라인에서 cur_image_idx가 batch size보다 커지게 되는데 그냥 pass로 처리하신 이유가 궁금합니다. Llava 코드에는 예외 처리가 되어 있지 않앗서요
tabtoyou commented
학습 과정에서 드물게 cur_image_idx
가 image_features
리스트의 인덱스 범위를 넘는 경우가 발생했습니다. 당시 임시로 try-except 블록으로 처리했는데, 추후에 디버깅을 통해 수정하겠습니다. 혹시 해당 오류의 원인을 발견하시거나 해결법을 먼저 찾으신다면 말씀해주세요!
tabtoyou commented
최근 디버깅을 통해 pass 처리를 안 했을 때 에러가 발생하는 원인을 찾았습니다.
instruction-following 데이터셋은 아래와 같이 human
의 vale
에 visual feature가 할당되는 <image> 토큰이 포함되어 있는데요.
...
{
"from": "human",
"value": "이미지의 배경은 어떻게 되어 있나요?"
},
{
"from": "gpt",
"value": "이미지의 배경에는 맑고 푸른 하늘과 멀리 산이 있습니다."
},
...
데이터셋 구축 과정에서 gpt
의 value
에 <image>가 잘못 포함된 경우가 조금 있다는 것을 알게 되었고, 관련해 데이터셋을 수정 후 업로드 했습니다. 이렇게 개선할 수 있도록 질문주셔서 감사합니다.