[AIFFEL 대전 1기] 86일째 날

데이터 여행자·2021년 5월 3일

[일기]

목록 보기
87/105

Going Deeper

이번주는 수요일이 공휴일이라 풀잎 스쿨이 없어서 오늘은 고잉 디퍼 렉쳐 노드를 하루 종일 했다. 오늘의 주제는 Huggingface였다. Huggingface는 NLP framework 중 하나로, 트랜스포머를 기반으로 한 pretrained model을 제공한다. 길고 어려운 코드 구현 없이, 그리고 많은 자원 없이도 프레임워크만 사용하면 쉽게 데이터에 적용할 수 있다니 좋은 기술이다. 실제로 코드 한 줄로 감정 분석을 잘 해내서 신기했다.

오늘의 노드는 내용이 많지 않고, Huggingface의 소개 정도였기 때문에 일찍 끝낼 수 있었다. 일찍 끝내서 좋기는 하지만 Huggingface를 어떻게 실제 데이터에 적용하는지는 내일이 와봐야 알 것 같다.

그런데 노드 마지막 장에서 학습 코드를 돌리는 부분이 이상했다. 처음에는 OOM 에러가 나서 재부팅을 하고 다시 돌렸더니 에러는 나지 않았다. 그런데 warning만 잔뜩 뜨고 아무 것도 나타나지 않았다. 노드에서는 학습이 진행된다고 나왔고, 나는 학습이 안 되는 것 같아 뭔가 이상하다고 생각했다. 나중에 퍼실님들이 와서 살펴보시더니 해결책을 알려주셨다.

  • '_AssertCardinalityDataset' object has no attribute 'cardinality'
    위의 에러가 나면 tensorflow 버전을 업데이트하면 된다. 그러나 이 에러는 나에게는 해당 사항이 아니었다.

  • wandb
    이건 뭔지 모르겠지만 우선 시키는 대로 했다. [weights & biases 홈페이지]https://wandb.ai/site)에 가입하고 패키지를 설치한다.

$ pip install wandb

setting에서 API key를 복사하고, 코드를 실행할 때 입력을 요구하면 붙여넣기를 한다.

이렇게 했는데도 아무 반응 없이 warning만 나와 여러 번 시도 끝에 결국 퍼실님께 질문했다. 워닝 가운데에 있는 'run page'라는 부분을 눌러 보니 GPU, CPU와 관련된 그래프들이 여러 개 떴다. 그리고 학습 코드는 학습만 하는 것이기 때문에 아무 결과가 나오지 않는다고 하셨다.

정리하자면 나는 wandb 외에 에러가 나지 않았고, 학습 코드를 돌리면 LMS 상에서는 아무 결과가 나오지 않는 것이 정상이라는 거다. 퍼실님에 의하면 Huggingface가 개편되면서 wandb를 넣어주어야 한다. 이전에는 어떤 결과가 나왔던 건지는 모르겠지만 학습 결과를 weights & biases 홈페이지에 가서 확인해야 한다는 건 설명이 없으면 몰랐을 것 같다.

아무튼 별 문제가 아닌 걸로 시간을 낭비했다. 이상이 있는 줄 알고 재부팅을 여러 번 해보기도 하고, 코드도 초기화시켜서 다시 해보기도 했다. 이상이 없으니 다행이지만 내일 프로젝트에서 어떻게 학습이 진행되는지 궁금하다.

노드를 일찍 끝내고 밀린 프로젝트를 하려고 했다. 하지만 걸리는 게 많아 완성은 아직 다 못 했다. 다음주부터는 해커톤이 시작이기에 되도록 빨리 끝내고 싶은데, 할 수 있을지 모르겠다.

중간에 담임쌤과 이야기할 기회가 있었다. 취업에 대한 고민을 얘기했는데, 결론은 낙심하지 말고 기도하면서 열심히 해보자였다. 아무 것도 내세울 건 없지만 지금 주어진 일에 충실하다 보면 언젠가 내세울 게 조금은 생기지 않을까 싶다.

0개의 댓글