11월 27일의 일기

일을 잘 하는 방법

그렇게 하고 있다는 얘기는 아니고 그런 방법이 보인다는 수준인데, 몇 가지 있는 것 같다.

다른 사람들이 할 수 있는 일이지만 이를 더 빠르게 하거나, 우선순위를 잘 맞춘다던가, 투입하는 시간이 많으면 일을 더 잘 할 수 있는 것 같다. 반대로 투입 시간이 너무 적으면 아무리 우수해도 일을 잘 할 수 없는 것 같다.

혼자서는 못 하는 일을 하는 것도 일을 잘 하는 방법 중 하나이다. 규모가 필요한 일이 있다. 다른 사람들을 이끌어서 혼자서는 하지 못 할 규모의 프로젝트를 리드할 수도 있다. 다른 사람을 이끌고, 신뢰를 사고, 일정대로 결과를 만드는 일은 어려운 것 같다.

실현이 복잡한 일을 하는 것도 일을 잘 하는 방법인 것 같다. 모두 생각은 할 수 있는데 실현할 엄두를 쉽게 내지 못하는 일을 해내는 것이다. 특정 구현체 클라이언트가 느릴 때, 이를 많이 빠르게...

Click to read more ...

Faster Linear Contextual Bandit by Removing Inverse Operation

Linear contextual bandit is a necessary tool in modern machine learning, especially in Recommender Systems. One of the difficulties of deploying it comes from that it involves an inverse operation. In this post, I will explain how to make it faster without removing inverse operation.

Cholskey Decomposition

It decomposes a positive-definite matrix into the product of a lower triangular matrix and its transpose. And, Covariance Matrix of Multivar...

Click to read more ...

Simple Hack for AE GPU Training

추천 시스템 모델을 만드는 사람에게 (생각보다 자주 벌어지는) 기분 나쁜 상황

모델을 열심히 만들었다. 근데 학습이 이상하게 느리다. 그래서 nvidia-smi를 눌러서 GPU 사용량이 얼마나 되나 확인해보면 utilization이 낮다. 대체로 0-10% 사이를 오가며, 아마도 내 딥러닝 모델이 계산을 하고 있을 것 같은 순간에만 GPU-Utilization이 20%를 넘는다. 사실, 이는 데이터의 형태를 적당히 바꿔서, GPU 메모리로 올리는 시간이 모델이 실제로 계산하는 시간보다 길다는 의미다. 이를 해결하기 위한 방법이 사실 많이 있다. 한가지 소개하자면 Click to read more ...

8월 1일의 일기

RecSys 2022 Challenge 참가 후기.

딱히 방법론에 대한 얘기를 자세히 할건 아니고 그냥 드는 생각에 관한 얘기.

올해 참가한 RecSys Challenge는 50등에 가까운 점수로, 그렇게 좋은 성적이라고 말하기는 힘든 점수다. 리더보드에서는 13등이었는데 최종 제출할 때 실수가 있었다. 등수 자체는 8등이었던 작년이 훨씬 나았지만, 번엔 논문을 써서 마무리를 지었다는 점을 잘 한 것 같다. 회사에서 실험할 수 있는 형태로 산출물을 만든 것도 좀 잘 한 것 같다.

가끔 머리가 나빠졌다는 생각을 많이 한다. 서버 프로그래밍을 공부하던 시절에는, epoll같은 비동기 프로그래밍을 눈 감고도 할 수 있었다. (사실 진짜 눈 감고는 못 할 것 같다.) 뭔가 열심히 공부하던 시절엔, 적분을 쪼금 더 잘 했던 것 ...

Click to read more ...

5월 26일의 일기

게으르다는 착각을 읽고

실제로 그렇게 성실히 살아온 것은 아니지만, 성실해야 한다는 압박감은 많이 느끼고 있었던 것 같다. 그런 압박감을 받아도 성실했던 적은 삶에서 많지 않았고, 죄책감을 느꼈던 적이 훨씬 많았다. 예를 들면 게임을 할 때 책상 위에 책이 놓여져 있으면 게임을 하면서도 죄책감이 들었다. 그렇지만 게임을 관둔 것은 아니었다. 죄책감을 느끼면서 게임을 했을 뿐이다.

죄책감을 느껴서 8시간 할 게임을 6시간만 했을지도 모르겠다. 그나마 이런 죄책감과 압박감을 받아왔기에 약간의 성실성을 발휘해 공부를 했던 것일까? 과거로 돌아가 다른 trajectory를 그려볼 수 없고, 현재에도 여러 trajectory를 다시 그려 볼 수 없기 때문에 알 수 없을 것 같다.

다른 것도 의심스러워진다. 애플워치나 핏빗같은 걸로 몸무게, 걸음 수를 트래킹하면 더 많이 걷고, 체중이 감소한다는 연구결과...

Click to read more ...

Embedding sets of vectors with EMDE

Translation of the post Embedding Sets of Vectors With EMDE

피쳐 엔지니어링으로서의 Vector Aggregation

EMDE는 인풋과 아웃풋만을 생각한다면, 벡터을 하나의 고정된 길이의 벡터로 변환하는 연산이다. 여러 벡터를 하나의 단일 벡터로 표현하는 연산은 그다지 쓸모가 없을 것 같지만 실제로는 상당히 흔한 연산이다. 특히 추천 시스템에서, 한 유저의 표현을 유저가 소비한 아이템의 목록으로 표현하기로 했을 때…

모든 음식들에 대한 좋은 임...

Click to read more ...