일지/네부캠 AI 4기(22.09.19~23.02.14)

20221130수-dkt13

제로타이 2022. 12. 1. 01:43

데일리 스크럼

캣부스트 학습률을 낮춰서 학습시키면. 0.01 정도로 하게 될 경우 학습이 되기는 한다. 에폭은 조금 더 오래 돈다. 
라벨 인코딩된 값도 저장되도록.
rmse가 좋을 수도 있다. 릭이 허용되지 않는 경우에 좋아 보이기는 하는데, 유의미한 차이까지는 아닐 수도.
interaction이 왜인지 너무 유의미한 지표이다. 
get_object_importance는 무엇일까?

CS, SQL

스터디로 공부하는 내용은 아예 따로 글을 파서 추후에 더 정리를 해두는 것이 좋겠다. 어차피 책이 있다보니 체계적으로 목차를 나누는 것도 편한 편이고 정리할 때 참고할 자료가 떡하니 있어서 그다지 어렵지 않은 것 같다. 

일단 오늘 한 것은? sql 설치하기! 워크벤치 설치는 어렵지 않은데, 팀원들은 워크벤치 툴에서 멈추지 않고 터미널 환경에서 까는 연습을 하는 것으로 했다. 

dpkg- 데비안 패키지 관리 시스템의 기초가 되는 소프트웨어. .deb 패키지의 설치, 삭제 등을 지원한다. apt보다 더 낮은 레벨의 도구이다. apt도 실상 내부에서는 dpkg를 사용한다는 듯.
wsl에 mysql을 까는 것에 애로사항이 많은 모양이다. 나도 이전에 wsl이 뭔가 답답하다는 인상을 받아서 그냥 탈출했는데, 나쁘지 않은.. 선택이었을 지도..?

nosql 데이터베이스의 종류, 몽고db와 redis가 대표적이다. 
개발시 데이터베이스 선택 가이드 데이터베이스 정리! 코딩애플 정리 잘한다!

제1 정규형: 이전 대회에서 지역을 나누는 전처리를 한 것.
제2 정규형: 평점과 유저, 책 데이터를 머지한 상태에서 원래대로 되돌리는 일.
제3 정규형에 대해. 함수 종속성(완전 함수 종속, 부분함수 종속, 이행함수 종속)의 개념 (tistory.com) 함수 종속성의 개념. 함수 종속성이란? 다양한 쌍 중에서 A를 정하면 B가 자동으로 정해지는 것. 그때 B가 종속된다고 말한다. 좌표평면에서 이차 함수를 생각해보자. x값을 넣으면 하나의 y값이 나온다. 그렇기에 y는 종속된다. 그러나 y의 값을 댄다고 해서 x값이 하나로 딱 떨어지지는 않는다. y가 4일 때, $y=x^2$에서 x는 2, -2의 값을 가질 수 있다. 이런 개념이라고 생각하면 된다. 이럴 때 x가 결정자, y가 종속자라고 부른다.

정규형을 하는 것은 이상치를 제거하기 위함이라는 것을 감안하고 접근하면 이해가 빠르다.

보이스코드의 모양. 모든 결정자가 후보키가 되도록 만드는 일이라 강한 제3 정규형이라고도 불린다고 한다. 위에서는 강사는 결정자이나 후보키가 아니기에 이를 분리하는 과정을 거치는 것이다. 

sql 워크벤치로 간단하게 ERD를 만든 모습. 어떻게 선을 연결하는 건가 싶었는데, 안 속에 필드가 생기면 그때부터 연결이 가능해지더라고.

무결성은 매우 중요한 부분이며 여기서 간단하게 다루더라도 결국 다른 부분에서 또 나오기 마련이다. 일을 같이 처리할 것인지, 어떻게 순서를 둘 것인지 등의 것들은 컴퓨터에서는 쓰레드, 네트워크에서는 사용자 병렬 처리, 데이터베이스에서는 쿼리 처리가 되는 격이다. 이는 나중에도 배울 내용이니 깊게 파두는 것도 괜찮을 것이다. 

깃 합치기!

어제 상준이가 전처리 파일을 수정해서 메인 브랜치까지 업데이트를 완료했기에, 나도 그것을 받아서 내 로컬에 저장하고, 내가 테스트하는 브랜치까지 머지해둘 필요가 있다.

근데 왜인지 여기에서 더 나아가질 않는다.. 머선 일이냐. 여기에서 멈추는 건 또 처음본다. 왜인지는 잘 모르겠지만, 그냥 git pull을 하는 것은 아마 모든 브랜치에 대한 업데이트를 하는 게 아닌가 싶어서 아예 git pull origin main이런 식으로 받아서 확실하게 받는 방법으로 바꿨다.

전처리를 통해 csv 파일을 만드는 파일. 주석처리와 추석을 해제하는 방식으로 실행을 한다. 그래서 이것 때문에 걸핏하면 자동 머지가 실패한다.. 이근호를 하기도 뭐한 게, 앞으로도 전처리 양식이 다양해짐에 따라 해당 파일은 계속 업데이트가 될 예정이라.. 차라리 만들 파일을 인자로 전달해서 하는 게 나을 지도.
일단 당장은 위의 방법으로 쇼부를 보았다. checkout을 통해 변화된 내역을 버리고 되돌릴 수가 있더라고?

잠깐 생각해보는데, 피쳐를 많이 추가한다고 능사는 아니다. 오히려 노이즈로 작용하는 데이터가 있을지도 모른다. 이런 것은 EDA를 통해 파악해야하는 영역인 것일까.

일단 어제 이야기된 대로, 하위 브랜치에 푸쉬를 하고, pm이 메인에 머지할 수 있도록! 항상 메인을 기준으로 하위 브랜치들을 ㄷㅇ

 

컴퍼니데이 - 리빌더에이아이

현재 19명 정도 되는 회사. 20억 가량의 투자를 유치. 기술 위반의 스타트업. 
두 사무실로 분리되어 있음. 아직 큰 사무실을 가지지 못한 상태. 내년부터는 하나로 이관
오후 4시부터 맥주 쌉가능..!

3d스캔, 저장을 통해 플랫폼에 제공하는 일을 한다. 
또 스캔된 3d모델을 공간으로 올려서 상호작용한 서비스로 변환한다. 
이러한 두 가지가 가장 큰 업무.

핸드폰으로 360도를 촬영하여 3d를 스캔할 수 있도록. 용량이 적고, 질이 높으며 시간도 빠르다. 혁신적인 기술을 쓰고 있는 것. 
이러한 서비스는 어디에 활용될 수 있는가? 온라인 쇼핑에서 3d 뷰어로 제품을 제공하는 것. 또 홍보에도 사용될 수 있다. 또한 AR 피팅에도 사용이 가능하다. 내 아바타에 모델을 입히는 것. 
공간 3d 역시 쓰인다. 설계도를 토대로 3d로 집을 구성하는 방식. vr 공간에도 활용!
만들어진 포맷은 다양한 방식으로 저장된다. 추후에는 스캔한 것을 수정할 수 있도록, 다른 서비스와 연동되도록 수정할 것. 
웹사이트 상에서 3d 공간 템플릿을 만들 수 있게 개발할 예정. 

기업은 현재 유용함을 중시하고 있다. B2B 서비스를 주로 진행한다. 
주로 3d 파일 자체에 대한 니즈가 매우 많다.
중요한 역량. 코딩에 대한 숙련도보다는 이론적 부분을 빠르게 이해하는 능력이 필요하다. 
해외 시장도 목표로 함.
1개월의 온보딩 기간을 가지고, 사무실 출근을 원칙으로 한다. 
내년 채용 계획은 없다고 한다.

스캔 시간에 따른 모델 퀄리티의 차이가 발생한다. 그리고 물건 스캔은 실제 크기를 기준으로 이뤄진다. 
3d 출력 가능. 사람의 노동을 최소화하는 방향으로 간다. 
게임 분야로 진출 계획은 아직 없다.

컴퍼니데이 - 업스테이지

연구 분야가 도메인 별로 나뉜다. 

ai 관련 기술을 연구하는 기업. ai를 상용화시키는 것. ai를 제대로 적용하고 있지 못하면서 수요가 있는 65%의 기업을 고객으로 삼아 기술을 제공한다. 기술집약적인 ai pack를 제공.  
학문적인 성과를 많이 내고 있는 인원들이 다수 배치되어 있다. 
AOEBT(anywherer on earth but together) 풀 재택. 그에 대한 비용 역시 지원해준다. 

cv분야. 이미지에서 특정 정보를 끄집어내는 것. 
ocr. 글자 검출과 인식의 두 파트로 나뉨. 이는 번호판이나 이미지 내 텍스트 검색, 문서 정보 추출 등 다양한 요소에 활용될 수 있다. 
오래 된 기술이지만, 아직은 완벽한 성능을 내지는 못 한다. 업스테이지에서 이에 주목한다. 
이미지 인식, 글자 인식, 모델 학습과 최적화 등 다양한 지점에 대해서 분업하여 고민하고 있으며, 현재 ocr 팩을 만들었다. 

nlp분야. 모델링, 사전 학습, 엔지니어링을 하는 작업을 크게 하고 있다.
document ai. 디지털화 되지 못한 많은 문서 데이터에서 정보를 뽑아내는 것. parsing을 가장 중시하고 있다. 이건 이따 보고, 문서 분류와 구조 파악, QA도 진행한다. 
가장 활용도가 높은 것은 파싱. 필요한 정보를 k,v 형태로 추출하는 것. 영수증이나, 물류, 의료 등의 분야에서 주요 엔티티 를 뽑아낼 수 있도록 한다. 
체험형 인턴 과제로 문서를 분류하는 모델을 만드는 것을 냈다고 한다. 
들어오면 무슨 업무를 할까? end2end 파싱 과제, 혹은 구조 분석이나 대회 참가 등의 일을 하게 될 것.

recsys분야.

추천의 테스크. 동시에 다양한 회사의 데이터를 처리하려면? 서버가 감당못할 데이터가 들어온다면 어떻게 처리해야 하는가? 실시간 유저 행동을 어떻게 반영하는가?

추천시스템 분야에서 마주하는 문제점들. 

데이터 관리 분야. 데이터를 만드는 기준점을 만들자! data centric ai. 데이터 설계와 구축 방법론의 표준을 만들고자 함. 
현재 진행하는 것은 데이터셋 제작과 연구. 
데이터 구축 관련 경험, ai모델 개발 과정에서 어떤 데이터가 좋은지 고민을 해보는 것. 

영입 프로세스.

인턴은 3개월.Data Management Intern (upstage.ai) 

피어세션

지표 새로 추가 가능. custom_metric으로 제출 확인 가능. 그러나 얼리스타핑은 어차피 손실 함수를 통해 이뤄진다.
dkt는 이전 지표를 사용하는 것이 낫다.
이후 어제 정했던 대로 깃을 풀리퀘하는 작업을 했다. boost 브랜치와 dkt 브랜치에서 발생한 변경사항을 메인으로 풀리퀘를 하고, 업데이트된 원격을 바탕으로 로컬을 다 다시 업데이트. 먼저 로컬 메인을 풀 받고, 이 메인을 토대로 하위 로컬 브랜치들을 전부 머지했다. 
근데 이게 사실 문제가 될 여지도 있는 것 같다. 왜냐하면 원격의 하위 브랜치들은 우리가 푸쉬를 하기 전까지 아무련 변화가 발생하지 않기 때문이다. 다른 브랜치에서 업데이트되는 것들이 메인을 통해 우리 로컬에 하위 브랜치들에 전달은 되지만, 원격의 다른 하위 브랜치들은? 어떻게 해야 하나? 상관이 없을지도 모른다. 해보면서 불편한 점을 찾아가면 되지 않을까. 잘 모르면 시행착오를 거치면서 커가는 법이지.

object importance

값 중에서 노이즈라고 치부되는 놈들도 존재하는 걸까? 그런 놈들을 고양이는 또 찾는 모양이다.

필수로 넣어야 하는 인자가 있다고 말하길래, 그것도 pool로 넣으라길래 넣어본 건데 제대로 된 것인지를 모르겠다.

지 혼자 죽이는 것을 보니 뭔가 단단히 잘못된 것인 것 같다.
일단 찾아봤을 때는 노이즈가 낀 행을 골라내주는 역할을 하는 것 같았는데, 그것을 검증셋에 대해서 찾아봐야 lb와 비슷한 결과가 나오지도 않는 지표를 가지고 노이즈를 판단하는 게 의미가 그다지 없을 것 같다는 생각이 1순위로 들고, 둘째로는 어떻게 작동시킨다는 것인지.. 영어로만 돼있으니까 의미 파악이 온전히 안 되는 것 같다. 가뜩이나 실효성도 떨어지는 것 같은 부분을 계속 파기에는 의지가 더 안 붙어서 팀원들에게 말이나 해보고 마련다.

회고 및 다짐

오늘은 공부를 많이 못 한 것 같다. 피곤한가, 졸음이 계속 몰려오는데 평소 같으면 최대한 내 상태를 캐치하고 뺨을 치든 커피를 마시든 쳐냈을 텐데 오늘은 그러지 못했다. 저녁도 안 먹었는데 저녁에 졸린 건 또 처음이네. 이거 적신호인가..? 요즘 잠이 확실히 부족해지기는 했다. 강의만 들을 적에는 계획을 세우면 얼추 그것만 달성하고 자면 그만이었는데, 대회는 하면 할수록 할 수 있는 것들이 나오다보니 시간 관리가 잘 안 된다(그런다고 능률이 잘 나오는 건 또 아닌데..). 빨리 대책을 강구할 필요가 있겠다.

내일은 아마 수헌이 형과 만나 오프라인으로 공부할 것 같다. 집에 있을 때보다는 확실히 집중이 잘 될 것으로 기대된다. 대신 코드를 효율적으로 치는 것은 힘들 것 같고, 구닥다리 노트북과 태블릿을 이용해서 하면 좋을 것이 무엇이 있을지 조금 고민을 해가야 할 것 같다.