AI의 발전 방향
1. 멀티 (Text, Image, Audio)
2. Agent 비서 → 모바일에 LLM이 들어가야 하므로 점점 크기가 작아지고 있다.
Open source란 소스 코드를 누구에게나 공개하여 개발에 참여할 수 있도록 하는 개발 형식이다. 가장 유명한 프로그램은 Linux이다. 동일한 개발자인 리누스 토발즈가 Git도 개발하였다. 그렇다면 Git은 왜 등장하게 되었을까?
바로
1. 분산
2. 협업
때문이다.
계속해서 파일을 업데이트하면 버전/히스토리 관리가 필수이기 때문에, Local과 Remote 저장소를 구분하여 사용하는 것이다. 작업 단위 별로 이루어지므로 이전 것에서 빠진 사항이 있으면 그것만 추가하는 것은 불가하다. 이전 작업 단위를 불러와서 놓친 것을 추가하는 방식으로 진행되어야 한다. 따라서 적절한 작업 단위를 정하는 것이 중요하다!
그런데 Git을 사용하다 보면 파일명은 바뀌지 않지만 어떻게 수정 사항을 발견하는 것일까? 파일 코드가 10줄 정도라면 금세 달라진 부분을 체크할수 있겠지만, 파일의 크기가 커질 수록 수행 시간은 늘어날 것이다.
강사님이 생각해 보라고 하셔서 나는 타임스탬프를 고민했다. 어떤 수강생은 크기를 이야기 했지만, 크기가 작아지고 커지는 것으로 최신 버전을 정하는 것은 어렵지 않을까? 싶었다.
정답은 내용비교였다. 임베딩이라는 기술을 통해서 각 파일의 글자/내용을 숫자로 바꾸어 주고, 각 파일을 이 숫자로 비교하는 것이다. 이 함수는 github에 내장되어 있어 꽤나 편리하다.
나는 여기에서 2가지 궁금증이 들었다.
1. 이전 버전들과 현재 수정된 버전을 비교했을 때 임베딩된 숫자가 계속 유사하다는 보장은 없다. <0.4 - 0.9 - 0.2 - 최신 버전> 이런 식으로 될 수도 있을 텐데, 버전 관리에서 이 숫자는 어떻게 사용되는 것인가?
2. 보통 임베딩 숫자는 소수 몇자리까지 판별할까?
gpt와 의논한 결과.. 이런 답변을 얻을 수 있었다.
1. Github 같은 시스템은 임베딩 숫자 뿐만 아니라 상대적 변화(유사도 거리)도 고려하여 버전 관리가 진행된다.
2. 소수점 2~3자리 정도면 변화 판별에 충분하다. 지나치게 정밀하면 불필요한 변화까지 감지될 수 있다.
git은 각 회사마다 사용하는 방식이 다르기 때문에, 기본 틀을 아는 것이 중요하다고 한다. 내일도 예정되어 있는 git/github 수업을 통해 실제 프로젝트에서 어떻게 사용하는지 잘 알고 싶다.
'부트캠프 > Git&Github' 카테고리의 다른 글
| W1D3 Github 명령어에 대하여 (0) | 2025.03.26 |
|---|