첫. 만남은- 너무 어.려.워~
계 획. 대로 되는 게 없.어.서~
https://www.youtube.com/watch?v=hVAc1Vf2ITU
그치만 난 어느덧 렉볼과 만난지 3개월이 다 되어 가는데......
우린 첫 만남도 아닌데 왜 이리 어렵니 !!!
문제점 1. Colab 의 GPU 서버 시간 제한
코랩을 왜 무료로 제공해주냐면서 구글에 입사하겠다는 말은 취소입니다.
무료로 해줄거면 끝까지 저를 책임져주셔야죠
Pro 버전도 GPU 시간 한도가 있다는 어처구니 없는 이런 말이 어디 있단 말이요
시도 1. CPU 로 돌리기
암튼.. GPT 가 원래 CPU 에서도 AI 모델은 돌아간다고 하길래 CPU 로 돌렸는데 전 안되더라구요?
같이 졸프하는 상아가 자기도 그냥 시간 오래 걸리지만 CPU 로 돌린다고 해서 나도 해보려고 했는데
나는? 왜 CPU 로 안돌아가지?
알고 보니 모델을 훈련할 때 GPU 환경에서 훈련해서 그렇다는데..
추천을 받을 때 device 설정을 cpu 로 바꿔주면 된다는데.. 하다가 아직 못했다
시도 2. AWS EC2 에서 GPU AMI 서버 이용
코랩의 이런 모습에.. 전 실망을 했구요 떠나고 싶어서
AWS GPU EC2 로 자립하려고 했는데..
CPU 가? 기본적으로 1개씩 할당되는데, GPU 인스턴스를 쓰려면 4개가 필요해서 안된다하더라고요
늘려달라는 요청을 보내면 된다고 해서 보내긴 했는데.. 아직 안늘려줬다
(+ AWS SageMaker API 도 알아보긴 했는데 시간당 비용이 EC2 보다 비싸다고 해서 .. (생략))
시도 3. 계정 여러 개로 Colab 돌려 쓰기
검색하다가 어떤 사람이 코랩 무한으로 쓰는 방법 ~ 이런 글을 게시했길래 혹해서 들여다봤는데
당연히 그런 방법은 없고 계정 3개를 돌려 쓰라더라
딱히 방안은 없어서 일단 나도 다른 계정으로 Colab 을 쓰고 있다..
생각해낸 방안 1. 미리 추천 결과 저장해놓기
기존 : 사용자가 재료 선택 → 사용자 프로필과 재료를 가지고 코사인 유사도 비교로 추천 결과 생성 (첫 번째 추천) → 추천 결과의 item_id 로 해당 item 을 소비한 다른 사용자들이 추천하는 다른 item 을 추천 (두 번째 추천) → 첫 번째 추천과 두 번째 추천을 하나의 response 에 묶어서 반환
새로운 방안 : 기존에는 첫 번째 추천 이후의 결과값을 가지고 실시간으로 모델에게 전달하여 훈련 결과를 기반으로 새로운 item 을 추천하도록 구현했다. 사실 시간이 꽤 오래 걸렸었는데, 미리 모든 item_id 에 대한 추천 결과를 따로 저장해놓고 바로바로 사용할 수 있도록 하는 방안 (요청이 들어올 땐 GPU 를 사용하지 않는다 → 시간 절약, 리소스 절약)
생각해낸 방안 2. 추천 받은 item 에 대한 추천 결과가 아닌 인기 있는 item 을 미리 저장해놓기
위의 방안과 비슷한 메커니즘이다. 미리 인기 item id 추천 결과를 따로 저장해놓고 사용할 수 있도록 하는 방안
문제점 2. item_id index error
도대체 존재하는 id 인데 왜 자꾸 index error 가 나는지 아직 모르겠다
input 이 실제 id 가 아니라 모델 훈련할 때 따로 부여한 item_id:token 이란 건 알았다
모든 item_id 가 있는 게 아닌가? 데이터셋이 다른가?
그럴리가 없지만..
좀 더 알아봐야 할 것 같다
'AI' 카테고리의 다른 글
[AI] 레시피 추천 모델 만들기 12 - Colab Migration (5) | 2024.11.06 |
---|---|
[AI] 레시피 추천 모델 만들기 11 - 배포 준비하기 (2) | 2024.11.05 |
[AI/Git] 레시피 추천 모델 만들기 10 - clone 한 레포 git push 부터 대용량 파일 push 까지 (4) | 2024.11.04 |
[AI] 레시피 추천 모델 만들기 9 - Inference (3) 정리 (2) | 2024.10.31 |
[AI] 레시피 추천 모델 만들기 8 - Inference (2) user 기반, item 기반 추천 받기 (3) | 2024.10.30 |