tabtoyou / KoLLaVA

KoLLaVA: Korean Large Language-and-Vision Assistant (feat.LLaVA)
Apache License 2.0
273 stars 30 forks source link

cur_image_idx을 pass 처리한 이유가 궁금합니다. #4

Closed metterian closed 1 year ago

metterian commented 1 year ago

https://github.com/tabtoyou/KoLLaVA/blob/72e9491536c9729ad193b4e19cdc67ae9b520e51/llava/model/llava_arch.py#L125C26-L125C30

위의 라인에서 cur_image_idx가 batch size보다 커지게 되는데 그냥 pass로 처리하신 이유가 궁금합니다. Llava 코드에는 예외 처리가 되어 있지 않앗서요

tabtoyou commented 1 year ago

학습 과정에서 드물게 cur_image_idximage_features 리스트의 인덱스 범위를 넘는 경우가 발생했습니다. 당시 임시로 try-except 블록으로 처리했는데, 추후에 디버깅을 통해 수정하겠습니다. 혹시 해당 오류의 원인을 발견하시거나 해결법을 먼저 찾으신다면 말씀해주세요!

tabtoyou commented 1 year ago

최근 디버깅을 통해 pass 처리를 안 했을 때 에러가 발생하는 원인을 찾았습니다.

instruction-following 데이터셋은 아래와 같이 humanvale에 visual feature가 할당되는 \ 토큰이 포함되어 있는데요.

...
            {
                "from": "human",
                "value": "이미지의 배경은 어떻게 되어 있나요?"
            },
            {
                "from": "gpt",
                "value": "이미지의 배경에는 맑고 푸른 하늘과 멀리 산이 있습니다."
            },
...

데이터셋 구축 과정에서 gptvalue에 \가 잘못 포함된 경우가 조금 있다는 것을 알게 되었고, 관련해 데이터셋을 수정 후 업로드 했습니다. 이렇게 개선할 수 있도록 질문주셔서 감사합니다.