$30 off During Our Annual Pro Sale. View Details »

ソフトウェア開発 × LLM 〜 Rパッケージ開発を題材に 〜

skume
September 08, 2023

ソフトウェア開発 × LLM 〜 Rパッケージ開発を題材に 〜

9月7日 (木) 15:30~17:00 第2会場
IIBMP2023 @ 柏の葉
WS-3: 生命科学におけるLLM応用事例の探求

ソフトウェア開発 × LLM
〜 Rパッケージ開発を題材に 〜

Rパッケージ開発とは?
“R言語”を使ったソフトウェア開発のこと。
ユーザーフレンドリーな開発思想。
つまりは、実行関数群、テストデータ、ドキュメントなどの提供によって、ユーザーが細かいコーディングに気を取られることなく、非常に短いコードでデータ解析や統計計算等が実行でき、問題解決に集中できる。
開発されたソフトウェアパッケージは、コード・レビュー(査読)を経て、各パッケージリポジトリに登録される。

本発表の関連資料
chatAI4R (CRAN package)
LLMによるRパッケージ開発サポートなどを提供
https://cran.r-project.org/web/packages/chatAI4R/index.html
https://github.com/kumeS/chatAI4R

deepRstudio
https://cran.r-project.org/web/packages/deepRstudio/index.html

デモ動画 (YouTubeの公開URL)
LLMの実行例 (GPT-4 UI): https://youtu.be/25f6DStWat8?si=rFCN3Qgf-Wup1Dbn
Roxygen2 (GPT-4 UI): https://youtu.be/wTMZfLMXYH0?si=50aV1V_yv8_t-1zZ
chatAI4R demo: https://youtu.be/O9QLMv1DJuY?si=3zcQPZmWzDkJedym
chatAI4R demo: https://youtu.be/dIUkCqCS0Tw?si=xApdb9vJ9ILudqU7
LLM Bots議論: https://youtu.be/qJTblkU0dI4?si=HyK_-LIUhzn-vFqu

skume

September 08, 2023
Tweet

More Decks by skume

Other Decks in Programming

Transcript

  1. ٱถ ܛ࢚
    #JPz1BDLzUIPO
    ࿈བྷઌTLVNFCJPJOGP BUHNBJMDPN
    ݄೔ ໦
    ʙୈձ৔
    **#.1!ദͷ༿
    84ੜ໋Պֶʹ͓͚Δ--.Ԡ༻ࣄྫͷ୳ٻ
    ιϑτ΢ΣΞ։ൃ º --.
    ʙ ύοέʔδ։ൃΛ୊ࡐʹ ʙ

    View Slide

  2. 3ύοέʔδ։ൃͱ͸ʁ
    • l3ݴޠzΛ࢖ͬͨιϑτ΢ΣΞ։ൃͷ͜ͱɻ
    • ϢʔβʔϑϨϯυϦʔͳ։ൃࢥ૝ɻ
    • ͭ·Γ͸ɺ࣮ߦؔ਺܈ɺςετσʔλɺυΩϡϝϯτͳͲͷఏڙʹΑͬͯɺ
    Ϣʔβʔ͕ࡉ͔͍ίʔσΟϯάʹؾΛऔΒΕΔ͜ͱͳ͘ɺඇৗʹ୹͍ίʔ
    υͰσʔλղੳ΍౷ܭܭࢉ౳͕࣮ߦͰ͖ɺ໰୊ղܾʹूதͰ͖Δɻ
    • ։ൃ͞Εͨιϑτ΢ΣΞύοέʔδ͸ɺίʔυɾϨϏϡʔ ࠪಡ
    Λ
    ܦͯɺ֤ύοέʔδϦϙδτϦʹొ࿥͞ΕΔɻ
    ୅දతͳϦϙδτϦ$3"/ "VTUSJB
    #JPDPOEVDUPS 64"

    S0QFO4DJ 64"

    ύοέʔδ਺$3"/ QBDLBHF ࣌఺

    #JP$ TPGUXBSFQBDLBHFT SFMFBTF

    View Slide

  3. 3ύοέʔδԽ޲͖ͷέʔε͸ʁ
    • ϩʔΧϧ؀ڥͰɺ୳ࡧత͔ͭର࿩తʹ࣮ߦ͢Δඞཁ͕͋Δܥ͸ɺ
    3ύοέʔδԽ͕޲͍͍ͯΔɻ
    • ιϑτ΢ΣΞ͸ެ։͍͕ͨ͠ɺιϑτ΢ΣΞͷ഑෍ɺϏϧυɺς
    ετɺσϓϩΠ ౎౓ͷಈ࡞อূ
    ͸୭͔ʹ୅ΘΓʹ΍ͬͯ΄͍͠ɻ
    <ͦͷଞ>
    • ίʔυɾϨϏϡʔΛ௨ͯ͡ɺ3ίϛϡχςΟͷઐ໳Ո͔Β͓๽෇͖Λ
    ΋Β͍͍ͨɻ
    • ߏஙͨ͠ղੳํ๏Λɺύοέʔδϯάٕज़ʹΑͬͯɺσʔλॲཧ
    ΍σʔλղੳͷ࠶ݱੑΛ޲্͍ͤͨ͞ɻ

    View Slide

  4. 3ύοέʔδ։ൃதʹૺ۰͢Δ՝୊
    ೥݄࣌఺Ͱɺ໘౗ͳ͜ͱʹ͸ɺ
    --.Λੵۃతʹ׆༻͢Δ͜ͱͰɺ
    ΄΅ղܾͦ͠͏ͳঢ়گͰ͋Δ ࢲݟ
    ɻ
    <୅දతͳ՝୊ >
    • 3ύοέʔδɾؔ਺ͷσβΠϯɾ࣮૷
    • ίʔυՄಡੑ΁ͷ഑ྀ
    • 3Ϣʔβʔ͕ීஈग़ձΘͳ͍Τϥʔ΍
    όά΁ͷରԠ
    Ϣʔβʔͱ%FWଆͱͷน

    3ύοέʔδࠎ֨ .JO

    3ؔ਺
    3υΩϡϝϯτ
    ύοέʔδͷఆٛϑΝΠϧ
    3ಠࣗͷϚʔΫΞοϓ
    ݴޠͰهड़ɻ

    View Slide

  5. 3ύοέʔδ։ൃͷྲྀΕͱ--.׆༻γʔϯ
    ΞΠσΞग़͠ͱߏ૝ ৽͍͠ΞΠσΟΞ΍ղܾࡦͷఏҊΛิॿ
    ύοέʔδͷઃܭͱΞʔΩςΫνϟͷઃܭ ύοέʔδͷશମతͳઃܭΛิॿ
    3ؔ਺ͷ࡞੒ίʔυ࡞੒ͷิॿ
    3ݴޠͷจ๏νΣοΫ جຊతͳจ๏ΤϥʔΛࢦఠ
    3PYZHFOίϝϯτͷ෇༩ 3PYZHFOελΠϧͷίϝϯτͷੜ੒Λิॿ
    ೔ຊޠ͔Βӳޠ΁ͷ຋༁ υΩϡϝϯςʔγϣϯ຋༁ͷิॿ
    υΩϡϝϯςʔγϣϯͷ࡞੒ͱվળ
    ࢖༻ྫ΍νϡʔτϦΞϧͷ࡞੒
    σόοάɺόάͷमਖ਼ɺςετ όάͷಛఆ΍मਖ਼ɺςετέʔεͷ࡞੒Λิॿ
    Ϣʔβʔ͔ΒͷϑΟʔυόοΫɾػೳ௥Ճ΁ͷରԠ
    ؔ࿈ύοέʔδͷௐࠪ ؔ࿈͢Δύοέʔδ΍πʔϧʹ͍ͭͯ΢Σϒ৘ใఏڙ
    จݙௐࠪɾཁ໿ 8FCεΫϨΠϐϯάɺ1%'ಡΈࠐΈ౳ͱͷ૊Έ߹ΘͤͰɺಛ
    ఆͷτϐοΫʹؔ͢Δௐࠪ΍ཁ໿Λఏڙ
    ։ൃલͷ
    ஈ֊
    ؔ਺ͷ࡞੒
    υΩϡϝϯτ
    ͷ࡞੒
    ςετɺό
    άमਖ਼ͳͲ
    ݕࡧɾௐࠪ
    ɾཁ໿
    ˞ԋऀ͸֤ʑͷྲྀΕΛ3ύοέʔδͷ࣮ߦؔ਺ͱ࣮ͯ͠૷தɻ

    View Slide

  6. ࣮ߦ؀ڥ
    3؀ڥ3WFSTJPO
    34UVEJP 3ͷ*%& 1PTJUࣾ

    04؀ڥNBD04
    --.6*൛ (15DIBU(15 LUPLFO

    (15"1* LUPLFO

    DIBU"*3 $3"/QBDLBHF

    IUUQTDSBOSQSPKFDUPSHXFCQBDLBHFTDIBU"*3JOEFYIUNM
    IUUQTHJUIVCDPNLVNF4DIBU"*3
    --.ʹΑΔ3ύοέʔδ։ൃαϙʔτͳͲΛఏڙ
    ˞೿ੜύοέʔδͷEFFQ3TUVEJP΋࢖༻ɻ

    View Slide

  7. ࣮ߦDIBU(15
    (156*൛ Y଎
    <--.ॳڃ>όΠΦΠϯϑΥͷ֓೦ʹ͍ͭͯɺઐ໳Ոͪͬ͘ʹ
    ౴͍͑ͯͩ͘͞ɻ
    ຊ୊ʹೖΔલʹɺɺɺ
    --.ͷ࣮ߦྫ (156*

    IUUQTZPVUVCFG%4U
    8BU TJS'$/2HG
    8VQ%CO

    View Slide

  8. <--.ࣄྫ>3ؔ਺ͷυΩϡϝϯςʔγϣϯ SPYZHFOฤ

    ࣮ߦ(156*൛
    SPYZHFOͱ͸3ύοέʔδͷͭͰɺ3ؔ਺ఆٛͷࠓ෩ͷॻ͖ํΛఏڙ͍ͯ͠Δɻ
    ௨ৗखॻ͖͢Δɻ
    SPYZHFOܗࣜ
    Λ3EϑΝΠϧ
    ʹม׵
    --.ͰSPYZHFOܗࣜͷ࡞੒
    3PYZHFO (156*

    IUUQTZPVUVCFX5.;G-.9:) TJB77@ZW@U[;

    View Slide

  9. 6*൛--.͸3ͬΆ͍--.࣮ߦͰ͸ແ͍
    • ϓϩϯϓτ͕ࣗવݴޠͱ͸͍͑ɺ࣮ߦ͕৑௕ɻ
    • Ϣʔβʔଆ͕ಉ͡ϓϩϯϓτΛଧͬͯ͘ΕΔ
    อূ͕ͳ͍ ࠶ݱੑͷ໰୊
    ɻ
    • ͦ΋ͦ΋ɺ3Ͱ׬͍݁ͯ͠ͳ͍ɻ
    "1*Ͱɺ334UVEJP্Ͱ࢖͑ΔΑ͏ʹ࣮૷͠Α͏ͱ
    ͍͏͜ͱͰɺDIBU"*3ύοέʔδͷ࣮૷Λண૝ͨ͠ɻ

    View Slide

  10. 3Ͱͷ׆༻ྫ
    3ؔ਺΍࣮ߦΤϥʔΛௐ΂Δ<ௐࠪฤ>
    ࣮ߦ(15"1* 3DIBU"*3 Y

    3ؔ਺Λௐ΂Δ
    ࣮ߦΤϥʔͷௐࠪ
    TFBSDI'VODUJPOؔ਺
    DIFDL&SSPS%FUؔ਺
    DIFDL&SSPS%FU@+1ؔ਺
    3TUVEJPͷ6*ػೳͰ࣮૷
    "EEJOT࣮ߦͰબ୒෦෼ΫϦοϓ
    ϘʔυΛ3ؔ਺ͷೖྗʹ͢Δ
    ˞ؔ਺ܕͰ΋࢖͑Δ

    DIBU"*3EFNP
    IUUQTZPVUVCF02-.W%+V: TJ[D21;N8[%L+FEZN

    View Slide

  11. 3Ͱͷ׆༻ྫ
    3ύοέʔδ༻ͷؔ਺࡞੒σϞ
    ϓϩϯϓτೖྗ
    ΞΠσΟΞੜ੒αϙʔτ
    ཁ݅ఆٛͷ࡞੒
    3ؔ਺ͷ࡞੒
    3PYZHFO෦෼ͷ෇༩
    ࣮ߦ(15"1* 3DIBU"*3 3EFFQ3TUVEJP Y

    ӳޠ ˠ ೔ຊޠ
    ӳޠ ˠ ೔ຊޠ
    DIBU"*3EFNP
    IUUQTZPVUVCFE*6L$R$45X TJY"QECW+*-VER6

    View Slide

  12. ෳ਺ͷ--.#PUTʹɺΞΠσΟΞ΍ղܾࡦΛٞ࿦ͤͯ͞ɺ
    ͦͷ݁ՌΛώτʹใࠂͤ͞Δ͜ͱ͸Ͱ͖ͳ͍͔ʁ
    %JTDVTTJPONPEFMCFUXFFO--.#PUT 3ؔ਺ EJTDVTTJPO@GMPX@W

    ͱͯ͠ͷఆ࣮ٛ૷

    View Slide

  13. --.#PUTٞ࿦ͷσϞ
    ࣮ߦ(15"1* 3DIBU"*3 3EFFQ3TUVEJP Y

    --.#PUTٞ࿦IUUQTZPVUVCFR+5CML6E* TJ)Z,@-*6I[OW'RV

    View Slide

  14. ·ͱΊ
    • ࠓճɺ3ύοέʔδ։ൃʹ͓͚Δ--.ͷ׆
    ༻ࣄྫΛ঺հ͠·ͨ͠ɻ
    • --.Λ׆༻ͯ͠ɺιϑτ΢ΣΞ։ൃΛ͠·
    ͠ΐ͏ʂʂ

    View Slide

  15. DIBU"*3 $3"/QBDLBHF

    IUUQTDSBOSQSPKFDUPSHXFCQBDLBHFTDIBU"*3JOEFYIUNM
    IUUQTHJUIVCDPNLVNF4DIBU"*3
    --.ʹΑΔ3ύοέʔδ։ൃαϙʔτͳͲΛఏڙ
    ຊൃදͷؔ࿈ࢿྉ
    EFFQ3TUVEJP
    IUUQTDSBOSQSPKFDUPSHXFCQBDLBHFTEFFQ3TUVEJPJOEFYIUNM
    σϞಈը :PV5VCFͷެ։63-

    --.ͷ࣮ߦྫ (156*
    IUUQTZPVUVCFG%4U8BU TJS'$/2HG8VQ%CO
    3PYZHFO (156*
    IUUQTZPVUVCFX5.;G-.9:) TJB77@ZW@U[;
    DIBU"*3EFNPIUUQTZPVUVCF02-.W%+V: TJ[D21;N8[%L+FEZN
    DIBU"*3EFNPIUUQTZPVUVCFE*6L$R$45X TJY"QECW+*-VER6
    --.#PUTٞ࿦IUUQTZPVUVCFR+5CML6E* TJ)Z,@-*6I[OW'RV

    View Slide