Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Real World Ray 202410݄9 ୷ᷓ༸ (zhanpon) 1
Slide 2
Slide 2 text
ࣗݾհ • ୷ ᷓ༸ʢ͟Μ ͍͍Μʣ • લʹԬʹҾͬӽ͖ͯ͠·ͨ͠ • ػցֶशγεςϜͷύϑΥʔϚϯενϡʔχϯά͕͖Ͱ͢ 2
Slide 3
Slide 3 text
࠷ۙϦϦʔεͨ͠αʔϏε ϓϨεϦϦʔεΑΓ 3
Slide 4
Slide 4 text
ྨࣅը૾ݕࡧγεςϜͷ࡞Γํ 4
Slide 5
Slide 5 text
ྨࣅը૾ݕࡧγεςϜͷ࡞Γํ 1. ը૾ΛϕΫτϧʹม͢ΔϞσϧΛ༻ҙ͠·͢ 2. େྔͷը૾ΛϕΫτϧʹมͯ͠ɺϕΫτϧDBʹΠϯσοΫε ͠·͢ 3. ʂ 5
Slide 6
Slide 6 text
ྨࣅը૾ݕࡧγεςϜͷ࡞Γํ 1. ը૾ΛϕΫτϧʹม͢ΔϞσϧΛ༻ҙ͠·͢ 2. େྔͷը૾ΛϕΫτϧʹมͯ͠ɺϕΫτϧDBʹΠϯσοΫε ͠·͢ → ΦϑϥΠϯόονਪ 3. ʂ 6
Slide 7
Slide 7 text
Part I: ΦϑϥΠϯόονਪ 7
Slide 8
Slide 8 text
ΦϑϥΠϯόονਪ RayͷެࣜυΩϡϝϯτΑΓ 8
Slide 9
Slide 9 text
ΦϑϥΠϯόονਪʹٻΊΔͷ • εέʔϥϏϦςΟ • ܭࢉࢿݯͷ༗ޮ׆༻ 9
Slide 10
Slide 10 text
εέʔϥϏϦςΟ 10
Slide 11
Slide 11 text
εέʔϥϏϦςΟͷඞཁੑ • ೖྗσʔλ૿͑ଓ͚Δ͕ɺδϣϒʹ࣮ߦ੍͕࣌ؒ͋Δ • ࣮ߦ੍͕࣌ؒݫ͘͠ͳ͍ΞυϗοΫͳδϣϒͰɺܭࢉϦι ʔεΛՃͯ͠ૣ͘ऴΘΒͤΒΕͨΒخ͍͠ 11
Slide 12
Slide 12 text
ࢄॲཧʹΑΔεέʔϥϏϦςΟͷ֬อ RayͰෳϊʔυ͔ΒͳΔΫϥελͰࢄॲཧ͕Ͱ͖ΔʢԼਤ ެࣜυΩϡϝϯτΑΓʣ 12
Slide 13
Slide 13 text
ܭࢉࢿݯͷ༗ޮ׆༻ 13
Slide 14
Slide 14 text
ಛྔநग़·Ͱͷεςοϓ 1. μϯϩʔυ (I/O) 2. લॲཧ (CPU) 3. ಛྔநग़ (GPU) 14
Slide 15
Slide 15 text
ετϦʔϛϯάॲཧ • ը૾ͷμϯϩʔυͱલॲཧ͚ͩͰԿ͔͔࣌ؒΔͷͰɺͦͷ ؒGPUΛ༡͓ͤͯ͘ͷ͍ͬͨͳ͍ • ը૾ͷμϯϩʔυɺલॲཧɺಛྔநग़Λͯ͢ಉ࣌ʹߦ͍ ͍ͨʢετϦʔϛϯάॲཧʣ 15
Slide 16
Slide 16 text
ετϦʔϛϯάॲཧͷϝϯλϧϞσϧ શࣗಈચ୕ס૩ػ vs ೋ૧ࣜચ୕ػͱચ୕ׯ͠ 16
Slide 17
Slide 17 text
ετϦʔϛϯάॲཧͷϝϯλϧϞσϧ શࣗಈચ୕ס૩ػ vs ೋ૧ࣜચ୕ػͱચ୕ׯ͠ 17
Slide 18
Slide 18 text
࣮ࡍͷίʔυ def main(): ray.data.read_parquet(paths) # σʔλͷμϯϩʔυ .map_batches(preprocess) # લॲཧ .map_batches(extract, num_gpus=1) # ಛྔநग़ .write_parquet(out_dir) # ਪ݁Ռͷॻ͖ग़͠ 18
Slide 19
Slide 19 text
લͷ·ͱΊ Ray DataͷࢄɾετϦʔϛϯάॲཧʹΑͬͯεέʔϥϏϦςΟ ͱϦιʔεͷ༗ޮ׆༻͕ୡͰ͖·͢ʂ 19
Slide 20
Slide 20 text
Part II: ύϑΥʔϚϯενϡʔχϯά 20
Slide 21
Slide 21 text
ϝτϦΫε • εϧʔϓοτʢ࠷ऴతͳλʔήοτʣ • ϓϩηε͝ͱͷCPU༻ • GPU༻ 21
Slide 22
Slide 22 text
νϡʔχϯάͷྲྀΕ ҎԼͷεςοϓΛ܁Γฦͯͩ͠ΜͩΜεϧʔϓοτΛ্͍͛ͯ͘ 1. δϣϒΛ࣮ߦͯ͠εϧʔϓοτΛܭଌ͢Δ 2. ʢδϣϒͷ࣮ߦதʹʣϘτϧωοΫΛಛఆ͢Δ 3. ϘτϧωοΫΛղফ͢ΔͨΊͷมߋΛՃ͑Δ 22
Slide 23
Slide 23 text
ྫ1: લॲཧ͕ϘτϧωοΫ • ࠷ۙͷGPUΊͪΌͪ͘Ό͍ • GPUʹेಇ͔ͤΔͨΊʹ1 GPU͋ͨΓ4-12 CPUඞཁʢલॲ ཧͱਪͷॏ͞ʹΑͬͯมΘΔʣ 23
Slide 24
Slide 24 text
લॲཧ͕ϘτϧωοΫʹͳ͍ͬͯΔ༷ࢠ • લॲཧϓϩηεͷCPU༻͕ͯ͢100%ʹͳ͍ͬͯΔ • GPU༻͕͍ • GPUॲཧΛߦ͏εςʔδͷΩϡʔ͕ۭʹͳ͍ͬͯΔ 24
Slide 25
Slide 25 text
લॲཧϓϩηεͷCPU༻ Ray DashboardͷΫϥελλϒͰ֬ೝ 25
Slide 26
Slide 26 text
GPU༻͕͍ nvidia-sminvitopͰ֬ೝͰ͖Δ 26
Slide 27
Slide 27 text
GPUॲཧͷΩϡʔ͕ۭ 27
Slide 28
Slide 28 text
ͦͷଞͷྫ • ΦϒδΣΫτετΞ͕ᷓΕΔ • reduceܥͷॲཧ͕ඇޮ 28
Slide 29
Slide 29 text
ΦϒδΣΫτετΞ͕ᷓΕΔ • ϓϩηεؒͰσʔλΛड͚ͨ͢ΊͷྖҬΛΦϒδΣΫτετ Ξͱ͍͏ • ᷓΕΔͱσΟεΫॻ͖ग़ͪ͠ʹͳΔͷͰ͍ 29
Slide 30
Slide 30 text
reduceܥͷॲཧ͕ඇޮ • count, sumͳͲ • map͚ͩRay DataʹΒͤͯޙॲཧPandas, PolarsͳͲͰΔ ͜ͱ͕Α͋͘Δ 30
Slide 31
Slide 31 text
·ͱΊ • ʢલʣRay DataͷࢄɾετϦʔϛϯάॲཧʹΑͬͯεέʔ ϥϏϦςΟͱϦιʔεͷ༗ޮ׆༻͕ୡͰ͖Δ • ʢޙʣύϑΥʔϚϯενϡʔχϯάͷ࣮ྫ • લॲཧ͕ϘτϧωοΫ • ΦϒδΣΫτετΞ͕ᷓΕΔ • reduceܥͷॲཧ͕ඇޮ 31
Slide 32
Slide 32 text
એ: DevPods Fukuoka Ԭʹ͍ΔLINEϠϑʔϝϯόʔ͕ϗετ͍ͯ͠ΔϙουΩϟετ ൪Ͱ͢ʂ 32