Skip to content

zebra0345/MMM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ’ฐ ํ”„๋กœ์ ํŠธ: MMM (๋ฌด์กฐ๊ฑด ๋ชจ์œผ๋Š” ๋จธ๋‹ˆ)

โ€œ๊ณผ์†Œ๋น„์˜ ์‹œ๋Œ€, ์†Œ๋น„์Šต๊ด€์„ ๋ฐ”๊พธ๋Š” ์ž‘์€ ์‹ค์ฒœ๋ถ€ํ„ฐโ€
์Šต๊ด€์„ฑ ์†Œ๋น„๋ฅผ ์ธ์‹ํ•˜๊ณ , ์ ˆ์•ฝ์„ ์‹ค์ฒœํ•˜๋Š” ํ˜„๋Œ€์ธ์„ ์œ„ํ•œ ์†Œ๋น„ ๋ถ„์„ & ์ €์ถ• ๊ฐ€์ด๋“œ ์„œ๋น„์Šค


๐Ÿง  ๋ฌธ์ œ ์ธ์‹

ํ˜„๋Œ€์ธ ๋Œ€๋ถ€๋ถ„์€ ์ˆ˜์ž… ๋Œ€๋น„ ๊ณผ๋„ํ•œ ์†Œ๋น„๋ฅผ ๊ฒฝํ—˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
ํŠนํžˆ ๊ณผ์‹œ ์†Œ๋น„, ๋ชจ๋ฐฉ ์†Œ๋น„๊ฐ€ ์‚ฌํšŒ ์ „๋ฐ˜์œผ๋กœ ํ™•์‚ฐ๋˜๋ฉฐ, ์Šต๊ด€์  ์†Œ๋น„๊ฐ€ ์ผ์ƒํ™”๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ฐธ๊ณ  ๊ธฐ์‚ฌ


๐ŸŽฏ ํ”„๋กœ์ ํŠธ ๋ชฉ์ 

MMM (๋ฌด์กฐ๊ฑด ๋ชจ์œผ๋Š” ๋จธ๋‹ˆ) ๋Š”
๊ณผ์†Œ๋น„ ์„ฑํ–ฅ์ด ์žˆ๋Š” ํ˜„๋Œ€์ธ๋“ค์ด ์ž์‹ ์˜ ์†Œ๋น„ ํŒจํ„ด์„ ์ธ์‹ํ•˜๊ณ ,
์Šต๊ด€์ ์ธ ์ €์ถ•๊ณผ ์†Œ๋น„ ์ ˆ์ œ๋ฅผ ์‹ค์ฒœํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

โœ… ์ฃผ์š” ๊ธฐ๋Šฅ

  • ๐Ÿ“Š ์†Œ๋น„ ๋ถ„์„: ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ์†Œ๋น„ ๋‚ด์—ญ ๋ถ„์„
  • ๐Ÿ” ์†Œ๋น„ ํŒจํ„ด ์ธ์‹ & ์—ฐ๋ น๋Œ€ ๋น„๊ต: ์œ ์‚ฌ ์—ฐ๋ น๋Œ€ ์†Œ๋น„ ์„ฑํ–ฅ ๋งค์นญ
  • ๐Ÿง  AI ๊ธฐ๋ฐ˜ ๋‹ค์Œ ๋‹ฌ ์†Œ๋น„ ์˜ˆ์ธก: GRU ๋ชจ๋ธ ๊ธฐ๋ฐ˜ ์‹œ๊ณ„์—ด ์˜ˆ์ธก
  • ๐Ÿ’ธ ๋งž์ถคํ˜• ์ €์ถ• ๊ฐ€์ด๋“œ & ์นด๋“œ ์ถ”์ฒœ

๐Ÿ“… ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„

  • 2025.02.17 ~ 2025.04.12 (์ด 6์ฃผ)

๐Ÿ› ๏ธ ์‚ฌ์šฉ ๊ธฐ์ˆ  ์Šคํƒ

๐Ÿ’ป Backend

Java Spring Boot JPA MySQL MongoDB Spring Security Lombok dotenv

๐ŸŽจ Frontend

React Vite Node.js JavaScript TailwindCSS Framer Motion Recoil SweetAlert2 Lottie

๐Ÿง  AI / ML

Python Google Colab FastAPI PyTorch Scikit-learn Hugging Face

๐Ÿš€ DevOps / CIยทCD

AWS Docker Docker Compose NGINX Jenkins


๐Ÿ‘ฅ ํŒ€์› ์†Œ๊ฐœ

์ด๋ฆ„ ์—ญํ•  GitHub
์ตœ์ข…๋ฏผ Leader / Full Stack @ocsba0821
์‹ ์šฐ์ง„ Back End / AI @zebra0345
๊ฐ•๊ฑด์ค€ Front End @kang-geon-jun
ํ™ฉํ•™์„  Back End @HHS-97
๋ฐ•์ฐฌ๋ฏธ Back End / CIยทCD @chaaaaaaanmi
๋ฐ•์„ฑ์šฑ Front End @sungwook22

๐Ÿ” ์„œ๋น„์Šค ํ๋ฆ„๋„

์„œ๋น„์Šค ํ๋ฆ„๋„

  • NGINX โ†’ React Front โ†’ Spring Back โ†’ FastAPI AIBack ๊ตฌ์กฐ
  • ๊ฐ ๋‹จ๊ณ„๋Š” ๋ชจ๋“ˆํ™”๋˜์–ด ์žˆ์œผ๋ฉฐ, ์„ธ์…˜์ธ์ฆ๊ณผ AI ์˜ˆ์ธก์ด ํ†ตํ•ฉ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ–ผ๏ธ ์ฃผ์š” ํ™”๋ฉด ๊ตฌ์„ฑ

๐Ÿ  ๋ฉ”์ธ ํ™”๋ฉด

๋ฉ”์ธํ™”๋ฉด

  • ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ธฐ์ค€์œผ๋กœ ํ™”๋ฉด ๊ตฌ์„ฑ(400 x 642)
  • ๋ฉ”์ธ์— ๋ฒŒ๊ธˆ์ด ์–ผ๋งˆ๋‚˜ ์Œ“์˜€๋Š”์ง€, ๋ฒŒ๊ธˆ๊ณผ ์ €์ถ•์œผ๋กœ ๋“ค์–ด๊ฐ€๋Š” ํ™”๋ฉด๊ตฌ์„ฑ
  • ์ƒ๋‹จ์— ๋ฉ”์ธํ™”๋ฉด์œผ๋กœ ๋Œ์•„๊ฐ€๋Š” ๋ฒ„ํŠผ, ์•Œ๋ฆผ, ํƒญ ๋ฒ„ํŠผ
  • ํ•˜๋‹จ๋ถ€ ํ™ˆ, ์บ˜๋ฆฐ๋”, ์ฑ„ํŒ…๋ฐฉ, ๋‚ด์ •๋ณด ๋ฒ„ํŠผ

๐Ÿ“† ์บ˜๋ฆฐ๋” ํ™”๋ฉด

์บ˜๋ฆฐ๋”ํ™”๋ฉด

  • ์บ˜๋ฆฐ๋” ํ™”๋ฉด์— ๊ณ ์ •์ง€์ถœ ๋‚ด์šฉ ์ถ”๊ฐ€
  • ๊ฐ ๋‚ ๋งˆ๋‹ค ์†Œ๋น„๋‚ด์—ญ ํ•œ๋ˆˆ์— ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ์ง€์›
  • ์†Œ๋น„๋‚ด์—ญ ํ™•์ธ์œผ๋กœ

๐Ÿ“ˆ ์›”๊ฐ„ ๋ฆฌํฌํŠธ

์›”๊ฐ„๋ฆฌํฌํŠธ

  • ์›”๊ฐ„ ์†Œ๋น„๋‚ด์—ญ ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ๋ถ„๋ฅ˜
  • ์†Œ๋น„ ์š”์•ฝ์œผ๋กœ ์–ด๋–ค ์นดํ…Œ๊ณ ๋ฆฌ์— ์–ผ๋งˆ๋‚˜ ์†Œ๋น„ํ–ˆ๋Š”์ง€ ์š”์•ฝ ๊ธฐ๋Šฅ ์ œ๊ณต

๐Ÿค– ์†Œ๋น„ ๋ฆฌํฌํŠธ

์†Œ๋น„๋ฆฌํฌํŠธ

  • ์‚ฌ์šฉ์ž์˜ ์†Œ๋น„ ๊ธฐ๋ฐ˜ AI์˜ ์†Œ๋น„๋ฐ์ดํ„ฐ ๋ถ„์„๊ฒฐ๊ณผ ์ œ๊ณต
  • ์—ฐ๋ น๋Œ€๋ณ„ ๋ถ„๋ฅ˜ -> ์–ด๋–ค ์—ฐ๋ น๋Œ€์— ๊ฐ€๊นŒ์šด์ง€ ๋ถ„์„
  • ์†Œ๋น„ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ๋‹ค์Œ๋‹ฌ์˜ ์†Œ๋น„๋‚ด์—ญ ์˜ˆ์ธก

๐Ÿ’ฌ ์ปค๋ฎค๋‹ˆํ‹ฐ ์ฑ„ํŒ…๋ฐฉ

์ฑ„ํŒ…๋ฐฉ

  • ์ฑ„ํŒ…๋ฐฉ ๊ธฐ๋Šฅ ์ œ๊ณต
  • ๊ฑฐ์ง€๋ฐฉ ์•„์ด๋””์–ด์— ์ฐฉ์•ˆํ•˜์—ฌ ์„œ๋กœ ์ ˆ์ œํ•˜๋Š” ์Šต๊ด€ ๊ณต์œ , ํŒ ๊ณต์œ  ํ•˜๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ
  • ํ•˜๋ฃจ์— ๋ฒŒ๊ธˆ ์–ผ๋งˆ ์ผ๋Š”์ง€ ๊ฐ ์‚ฌ์šฉ์ž๋ณ„ ์ œ๊ณตํ•˜์—ฌ ์„œ๋กœ๊ฐ„์˜ ์†Œ๋น„ ๋‚ด์—ญ ๊ณต์œ 

โš™๏ธ ์ดˆ๊ธฐ ๋ฒŒ๊ธˆ ์„ค์ •

๋ฒŒ๊ธˆ์„ค์ •

  • ๋ฒŒ๊ธˆ ๋ฐฉ์‹, ์ฑ„ํŒ…๋ฐฉ ์ƒ์„ฑ ํ™”๋ฉด์œผ๋กœ ๋‚˜๋‰จ
  • ๋ฒŒ๊ธˆ ๋ฐฉ์‹์€ ์†Œ๋น„ ํƒœ๊ทธ๋ณ„ ๋ฒŒ๊ธˆ / ์ ˆ๋Œ€๊ธˆ์•ก ๋ฒŒ๊ธˆ ์œผ๋กœ ๋‚˜๋‰จ
  • ์†Œ๋น„ ํƒœ๊ทธ๋ณ„๋กœ ๋ช‡ํผ์„ผํŠธ์”ฉ ๋ฒŒ๊ธˆ / ์ ˆ๋Œ€๊ธˆ์•ก์— ๋ฐ˜์˜ฌ๋ฆผํ•˜์—ฌ ๋ฒŒ๊ธˆ
  • ๋ฒŒ๊ธˆ์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋Š” ๊ณผ์†Œ๋น„ํ•˜๋Š” ์Šต๊ด€์„ ์ค„์ด๊ณ  ๋ฒŒ๊ธˆ ํ˜„ํ™ฉ์„ ๋ณด๋ฉฐ ์ž์‹ ์ด ์–ผ๋งˆ๋‚˜ ์†Œ๋น„ํ–ˆ๋Š”์ง€ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Œ

๐Ÿค– AI ๊ธฐ์ˆ ์Šคํƒ

  • ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ ์ž‘์—…
    • ์ž๋™ ํƒœ๊ทธ ๊ธฐ๋Šฅ
      • ๊ฐ€๊ฒŒ ์ด๋ฆ„ ๊ธฐ๋ฐ˜ ์ž๋™ ํƒœ๊ทธ ๋ถ„๋ฅ˜ ๊ธฐ๋Šฅ FastAPI์—์„œ ์ œ๊ณต
      • ์†Œ์ƒ๊ณต์ธ ๊ฐ€๊ฒŒ ์ด๋ฆ„ + ์†Œ์ƒ๊ณต์ธ ํ˜‘์˜ํšŒ ๊ธฐ์ค€ ํƒœ๊ทธ ๋ถ„๋ฅ˜ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘
      • ๋Œ€ํ•œ๋ฏผ๊ตญ์— ๋“ฑ๋ก๋œ ๊ฑฐ์˜ ์ „์ฒด์˜ ์ƒ๊ฐ€ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘(2์ฒœ๋งŒ๊ฐœ ์ด์ƒ)
      • Kobert ๋ชจ๋ธ๋กœ ๊ฐ€๊ฒŒ ์ด๋ฆ„ ํ† ํฐํ™”
      • ํ† ํฐํ™”๋œ ๋ฐ์ดํ„ฐ ์••์ถ• -> FAISS ์ธ๋ฑ์Šคํ™”
      • bin ๋ฐ์ดํ„ฐํ™”๋กœ ๊ฐ€๊ฒŒ ์ด๋ฆ„์„ ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„ ๊ธฐ๋ฐ˜ ์ž๋™ ํƒœ๊ทธ ์ž‘์—… ์™„๋ฃŒ(์‹œ๊ฐ„๋ณต์žก๋„ O(1))
    • ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘
      • ์‚ฌ์šฉ์ž์˜ ์†Œ๋น„๋‚ด์—ญ ์ „์ฒด ์ˆ˜์ง‘
      • ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ๋ฅผ ๋งŽ์ด ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ sliding window ๊ธฐ๋ฒ•
      • 3๊ฐœ์›” ๋ฐ์ดํ„ฐ๋ฅผ 1, 2, 3 / 2, 3, 4 /... 3๊ฐœ์›” ๋‹จ์œ„๋กœ ํ•œ ์‚ฌ์šฉ์ž์˜ ๋ฐ์ดํ„ฐ๋ฅผ 4๊ฐœ๊ฐ€ ์•„๋‹ˆ๋ผ ์—ฌ๋Ÿฌ๊ฐœ๋กœ ๋งŒ๋“ค์–ด์„œ ๋ฐ์ดํ„ฐ ์ฆ๊ฐ•
      • ํ•™์Šต๋ฅ  ์กฐ์ •, ํŒŒ๋ผ๋ฏธํ„ฐ ์กฐ์ •์œผ๋กœ ์ •ํ™•๋„ 68 -> 95% ๊นŒ์ง€ ์ƒ์Šน
        • ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„ ๊ฑฐ๋ฆฌ, ํ‰๊ท  ํ‘œ์ค€ ์˜ค์ฐจ, ํ‰๊ท  ์ ˆ๋Œ€ ์˜ค์ฐจ, ํ‰๊ท  ์ ˆ๋Œ€ ๋ฐฑ๋ถ„์œจ ์˜ค์ฐจ ๋“ฑ ๋„์ž…
  • FastAPI ์ธก์—์„œ๋Š” ์ด ๊ณผ์ •์„ ํ†ตํ•ด ์™„์„ฑ๋œ ๋ชจ๋ธ์„ ๋ถˆ๋Ÿฌ์™€์„œ ์‚ฌ์šฉ

๐Ÿงพ ํŒ€ ํšŒ๊ณ 

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published