PGµç¾º

±¾Õ¾µãʹÓÃCookies£¬¼ÌÐøä¯ÀÀ±íʾÄúͬÒâÎÒÃÇʹÓÃCookies¡£ CookiesºÍÒþ˽Õþ²ß>

¼òÌåÖÐÎÄ
English
Ê×Ò³ > ¹ØÓÚÎÒÃÇ > ÐÂÎÅÖÐÐÄ > ´óÄ£ÐÍ¿ª·¢Éú̬¼ÓËÙ½ø»¯£¬Ô´2.0È«ÃæÊÊÅä°Ù¶ÈPaddleNLP£¡

´óÄ£ÐÍ¿ª·¢Éú̬¼ÓËÙ½ø»¯£¬Ô´2.0È«ÃæÊÊÅä°Ù¶ÈPaddleNLP£¡

2024-10-08

½üÈÕ£¬Ô´2.0¿ªÔ´´óÄ£ÐÍÓë°Ù¶ÈPaddleNLPÍê³ÉÈ«ÃæÊÊÅä¡£Óû§Í¨¹ýPaddleNLP£¬¿É¿ìËÙµ÷ÓÃÔ´2.0ԤѵÁ·´óÄ£ÐÍ£¬Ê¹ÓÃÔ´2.0ÔÚÓïÒå¡¢Êýѧ¡¢ÍÆÀí¡¢´úÂ롢֪ʶµÈ·½ÃæµÄÍÆÀíÄÜÁ¦£¬Ò²¿ÉÒÔʹÓÃÌØ¶¨ÁìÓòµÄÊý¾Ý¼¯¶ÔÔ´2.0 ½øÐÐ΢µ÷£¬ÑµÁ·³öÊʺÏ×ÔÉíÒµÎñÐèÇóµÄ´óÄ£ÐÍ¡£

Ô´2.0¿ªÔ´´óÄ£ÐÍÓë°Ù¶ÈPaddleNLPÍê³ÉÈ«ÃæÊÊÅä

´óÓïÑÔÄ£Ð͵ĿìËÙ·¢Õ¹¶ÔѵÁ·ºÍÍÆÀí¼¼Êõ´øÀ´Á˸ü¸ßµÄÒªÇ󣬯óÒµÔÚ´óÄ£ÐÍ¿ª·¢¹ý³ÌÍùÍùÃæÁÙ¶àÖÖÄÑÌ⣺ÈçºÎʵÏÖ¸ßЧѵÁ·ºÍÍÆÀí£¬ÈçºÎ½µµÍËãÁ¦×ÊÔ´ÏûºÄ£¬ÈçºÎÊÊÅä¶àÖÖÓ²¼þ¡­¡­

PaddleNLPÊǰٶȻùÓڷɽ°¿ò¼Ü´òÔìµÄ´óÓïÑÔÄ£ÐÍÌ×¼þ£¬¾ÛºÏÒµ½çÓÅÖÊԤѵÁ·Ä£ÐͲ¢Ìṩ¿ªÏä¼´ÓõĿª·¢ÌåÑ飬¸²¸ÇNLP¶à³¡¾°µÄÄ£ÐͿ⣬´îÅä²úҵʵ¼ù·¶Àý£¬Ìṩ¼«ÖµÄѵÁ·ÓëÍÆÀíÐÔÄÜ£¬¿ÉÂú×ãÁé»î¶¨ÖƵĿª·¢ÐèÇó¡£

Ô´2.0ϵÁлù´¡´óÄ£ÐÍÊÇÊ׸öÈ«Ãæ¿ªÔ´µÄǧÒÚ²ÎÊýÄ£ÐÍ£¬°üÀ¨1026ÒÚ¡¢518ÒÚ¡¢21ÒÚÈýÖÖ²ÎÊý¹æÄ£µÄÄ£ÐÍ£¬ÔÚ¶Ô»°ÎÊ´ð¡¢±à³Ì¡¢Âß¼­ÍÆÀíµÈ·½ÃæÕ¹Ê¾³öÁËÁìÏȵÄÄÜÁ¦¡£

´Ë´ÎÊÊÅä±êÖ¾Ô´2.0´óÄ£ÐÍÇ¨ÒÆµ½·É½°Éú̬ÖУ¬·á¸»ÁËPaddleNLPµÄ´óÄ£ÐͿ⣬·½±ãÓû§ÔÚPaddleNLPÄÚ¿ìËÙʹÓÃÔ´2.0´óÄ£Ð͵ÄÄÜÁ¦£¬²¢ÄÜʹÓÃÌØ¶¨ÁìÓòµÄÊý¾Ý¼¯×ö΢µ÷£¬ÀûÓÃÏà¶Ô½ÏÉÙµÄ×ÊÔ´¾ÍÄÜѵÁ·³ö¸üÊʺÏʵ¼ÊÓ¦Óó¡¾°µÄ´óÄ£ÐÍ¡£Ô´2.0»ùÓÚPaddleNLPÄÚÖõÄԤѵÁ·-΢µ÷-ÍÆÀíÈ«Á÷³Ì£¬Ö§³Ö´óÄ£ÐÍÊý¾Ý²¢ÐС¢Êý¾Ý·Ö×éÇÐÆ¬²¢ÐкÍÄ£ÐͲ¢ÐУ¬Ìṩ¸ßÐÔÄÜ·Ö²¼Ê½ÑµÁ·ÓëÍÆÀí¼¼Êõ£¬Í¬Ê±ÎÞÐèÐ޸ļ´¿ÉÊÊÅä¶àÖÖÓ²¼þ£¬´Ó¶ø¸øÓû§´øÀ´¿ªÏä¼´ÓõĿª·¢ÌåÑ飬ʵÏÖ¸ßЧѵÁ·ºÍÍÆÀí¡£

ÔÚ΢µ÷½×¶Î£¬ÀûÓÃPaddleNLPÖÐZero PaddingÁãÌî³äÊý¾ÝÁ÷ÓÅ»¯¼¼Êõ£¬Í¨¹ý·Ö×ḛ́ÐĵÄÊý¾ÝÌî³ä²ßÂÔ£¬¿É×î´ó³Ì¶ÈÏû³ýÎÞЧÌî³äµÄ±ÈÀý¡£Í¨¹ýÉÏÊöÓÅ»¯£¬Ïà±ÈLLaMA-Factory£¬PaddleNLPÔÚSFT£¨Supervised Fine-Tuning£¬¼à¶½Î¢µ÷£©»·½ÚÐÔÄÜÌáÉý£¬¿ÉÒÔ¸ü¿ìѵÁ·³öÊʺϿͻ§Ó¦Óó¡¾°µÄרÊôÔ´2.0´óÄ£ÐÍ¡£

Ŀǰ£¬Ïà¹Ø´úÂëÒÑÌá½»ÖÁPaddleNLP¿ªÔ´ÏîÄ¿£¬ÏîÄ¿µØÖ·£ºhttps://github.com/PaddlePaddle/PaddleNLP/tree/develop/paddlenlp/transformers/yuan

»ùÓÚPaddleNLPʵÏÖÔ´2.0´óÄ£Ð͵IJ½Öè

Step 1 »·¾³¹¹½¨£¬°²×°·É½°¿ò¼ÜµÄÈíÓ²¼þ»·¾³

Step 2 À­È¡Ô´2.0È¨ÖØ

Step 3 ²âÊÔ

¾ßÌå²½ÖèÇë²Î¿¼£ºhttps://github.com/PaddlePaddle/PaddleNLP/tree/develop/llm/config/yuan/README.md

ʹÓÃPaddleNLPÓëÔ´2.0µÄ½»»¥Ê¾Àý

Óû§ÔÚPaddleNLPƽ̨ÉÏ¿ÉÒÔ¿ìËÙʹÓÃÔ´2.0µÄÍÆÀíÄÜÁ¦£¬ÌرðÊÇʹÓÃÔ´2.0½øÐÐÕÅÁ¿²¢ÐÐÍÆÀíʱ¡£ÔÚTorchƽ̨ÉÏ£¬Ô´2.0ʹÓÃtransformersÖ±½Ó½øÐÐÍÆÀí£¬ÊÇĬÈÏʹÓÃÁ÷Ë®Ïß²¢ÐÐÍÆÀíµÄ£¬PGµç¾º¹ÙÍøÁ÷Ö»ÓÐÒ»Ìõ£¬Òò´ËÍÆÀíÐÔÄÜÏà½ÏÓÚÕÅÁ¿²¢ÐнÏÂý¡£Èç¹ûÏëʹÓÃÕÅÁ¿²¢ÐУ¬ÐèÒªÓû§×Ô¼º±àд´úÂë°´ÕÕ²¢ÐÐÊýÁ¿Ìáǰ¶ÔÈ¨ÖØ½øÐÐת»»£¬¶øÕâÓÖÐèÒªÓû§¶ÔÄ£ÐͺͿò¼Ü±È½ÏÊìϤ¡£µ«ÔÚPaddleNLPƽ̨ÉÏ£¬Óû§ÎÞÐèÌáǰ´¦ÀíÈ¨ÖØ¼´¿ÉÒ»¼üÆô¶¯ÕÅÁ¿²¢ÐÐÍÆÀí£¬ÉÏÊÖÃż÷µÍ¡£

ÒÔÏÂÊÇʹÓÃPaddleNLPÓëÔ´2.0µÄ½»»¥Ê¾Àý¡£

1. ´úÂëÉú³É

ÎÊÌ⣺ʹÓÃjavaʵÏÖðÅÝÅÅÐòËã·¨

»Ø´ð£ºÃ°ÅÝÅÅÐòÊÇÒ»ÖÖ¼òµ¥µ«Ð§Âʽϵ͵ÄÅÅÐòËã·¨£¬Ëüͨ¹ý±È½ÏÏàÁÚµÄÁ½¸öÔªËØ£¬²¢½»»»ËüÃǵÄλÖ㬴ӶøÖð²½½«×î´óµÄÔªËØÒÆ¶¯µ½ÁбíµÄĩβ¡£

ÏÂÃæÊÇʹÓÃjavaʵÏÖðÅÝÅÅÐòËã·¨µÄ´úÂ룺

public static void bubbleSort( int[]arr){

int n=arr.length;

for(int i=0;i<n-1;i++){

for(int j=0;j<n-i-1;j++){

  if (arr[j]>arr[j+1]){

    int temp=arr[j];

    arr[j]=arr[j+1];

    arr[j+1]=temp;

  }

  }

}

}

ÔÚÕâ¸ö´úÂëÖУ¬int[]arrÊÇÊäÈëµÄÕûÊýÊý×飬nÊÇÊý×éµÄ³¤¶È¡£º¯ÊýbubbleSort½ÓÊÜÒ»¸öÕûÊýÊý×é×÷Ϊ²ÎÊý£¬²¢·µ»ØÅÅÐòºóµÄÊý×é¡£

ʹÓÃÉÏÊö´úÂ룬Äã¿ÉÒÔµ÷ÓÃbubbleSortº¯Êý¶ÔÊý×é[5,3,8, 2,1,6,4]½øÐÐÅÅÐò¡£ÅÅÐòºóµÄ½á¹ûΪ[1,2,3,4,5,6,8]¡£

2. ÎÄÕÂÉú³É

ÎÊÌ⣺дһƪÌâΪAI´ø¸øÁËÈËÀàʲôµÄÎÄÕÂ

»Ø´ð£ºÈ˹¤ÖÇÄÜ(AI)ÊÇÒ»ÖÖ¼¼Êõ£¬Ëü¿ÉÒÔÈÃPGµç¾º¹ÙÍø»úÏñÈËÀàÒ»Ñù˼¿¼ºÍÐж¯¡£AI¼¼ÊõÒѾ­¹ã·ºÓ¦ÓÃÓÚ¸÷¸öÁìÓò£¬°üÀ¨Ò½ÁÆ¡¢½ðÈÚ¡¢½»Í¨¡¢½ÌÓý¡¢ÓéÀÖ µÈµÈ¡£AI¼¼Êõ¿ÉÒÔ°ïÖúÎÒÃǽâ¾öÐí¶àÎÊÌ⣬ÀýÈç×Ô¶¯¼ÝÊ»¡¢ÓïÒôʶ±ð¡¢Í¼Ïñʶ±ð¡¢×ÔÈ»ÓïÑÔ´¦ÀíµÈµÈ¡£AI¼¼Êõ»¹¿ÉÒÔ°ïÖúÎÒÃÇÌá¸ß¹¤×÷ЧÂÊ£¬ÀýÈç×Ô¶¯»¯Éú²úÏß¡¢ÖÇÄܿͷþµÈµÈ¡£AI¼¼Êõ»¹¿ÉÒÔ°ïÖúÎÒÃǸüºÃµØÁ˽âÊÀ½ç£¬ÀýÈçͨ¹ýAI¼¼Êõ¿ÉÒÔ¸üºÃµØÔ¤²âÌìÆø¡¢·ÖÎöÊг¡Ç÷ÊÆµÈµÈ¡£×ÜÖ®£¬AI¼¼ÊõÒѾ­³ÉΪÁËÎÒÃÇÉú»îÖв»¿É»òȱµÄÒ»²¿·Ö¡£

3. ·­Òë

ÎÊÌ⣺½«ÏÂÃæµÄÎÄ×Ö·­Òë³ÉÖÐÎÄ

But with the passage of time, Hemingway has reached middle age,and his energy and creativity have also declined. In Hemingway's inner world, he was very upset, but he never lost hope and confidence.

»Ø´ð£ºÈ»¶øËæ×Åʱ¼äµÄÍÆÒÆ£¬º£Ã÷ÍþÒѾ­²½ÈëÖÐÄ꣬ËûµÄ¾«Á¦ºÍ´´ÔìÁ¦Ò²²»¶ÏϽµ£¬µ«ËûµÄÄÚÐÄÈ´·Ç³£²»°²£¬µ«Ëû´ÓδʧȥϣÍûºÍÐÅÐÄ¡£

4. ¶Ô»°

ÎÊÌ⣺Ŀǰ×îÏȽøµÄ»úPGµç¾º¹ÙÍøÑ§Ï°Ëã·¨ÓÐÄÄЩ

»Ø´ð£ºµ±Ç°×îÏȽøµÄ»úPGµç¾º¹ÙÍøÑ§Ï°Ëã·¨°üÀ¨ÒÔϼ¸ÖÖ

¾í»ýÉñ¾­ÍøÂç(Convolutional Neural Networks,CNN)£ºCNNÊǽüÄêÀ´ÔÚͼÏñ´¦ÀíÁìÓòÖзdz£³É¹¦µÄÒ»ÖÖËã·¨£¬¿ÉÒÔÓÃÓÚͼÏñ·ÖÀࡢĿ±ê¼ì²â¡¢Í¼Ïñ·Ö¸îµÈÈÎÎñ£»

Ñ­»·Éñ¾­ÍøÂç(Recurrent Neural Networks,RNN)£ºRNN³£³£ÓÃÓÚÐòÁÐÊý¾Ý´¦Àí£¬ÀýÈç×ÔÈ»ÓïÑÔ´¦Àí¡¢ÓïÒôʶ±ð¡¢»úPGµç¾º¹ÙÍø·­ÒëµÈÈÎÎñ¡£ÆäÖУ¬³¤¶Ìʱ¼ÇÒäÍøÂç(Long Short-Term Memory,LSTM)ºÍÃÅ¿ØÑ­»·µ¥Ôª(Gated Recurrent Unit,GRU)ÊÇÁ½ÖÖ³£ÓõÄRNN±äÌ壻

×Ô±àÂëPGµç¾º¹ÙÍø(AutoEncoder,AE)£ºAEÊÇÎ޼ලѧϰÖÐÒ»ÖÖÖØÒªµÄËã·¨£¬Ä¿±êÊÇѧϰһÖÖѹËõ±íʾÐÎʽ£¬Äܹ»°ÑÊäÈëѹËõµ½½Ï СµÄ·¶Î§¡£Ä¿Ç°Ó¦ÓÃÓÚÐźŴ¦Àí¡¢Í¼ÏñѹËõ¡¢Êý¾ÝѹËõµÈÁìÓò£»

¶Ô¿¹Éú³ÉÍøÂç(Generative Adversarial Networks,GAN):GANÊÇÓÉÁ½¸öÉñ¾­ÍøÂç×é³ÉµÄ¶Ô¿¹Ä£ÐÍ£¬Ò»¸öÉú³ÉPGµç¾º¹ÙÍøÍøÂçÓÃÓÚÉú³ÉеÄÊý¾Ý£¬ÁíÒ»¸öÅбðPGµç¾º¹ÙÍøÍøÂçÓÃÓÚÅбðÉú³ÉµÄÊý¾ÝÊÇ·ñÕæÊµ£¬Òýµ¼Éú³ÉPGµç¾º¹ÙÍø ѧϰÉú³ÉеÄÊý¾Ý¡£GAN¹ã·ºÓ¦ÓÃÓÚͼÏñÉú³É¡¢ÊÓÆµÉú³ÉµÈ³¡¾°ÖУ»

Ç¨ÒÆÑ§Ï°(Transfer Learning):½«¹ýÈ¥ÔÚѵÁ·¼¯ÉÏѵÁ·¶øµÃµ½µÄ֪ʶӦÓõ½ÐÂÈÎÎñÖУ¬¿ÉÒÔ¼ÓËÙÄ£ÐÍµÄ ÑµÁ·ºÍÌá¸ßЧ¹û¡£

×ÜÖ®£¬µ±Ç°×îÏȽøµÄ»úPGµç¾º¹ÙÍøÑ§Ï°Ëã·¨°üÀ¨¾í»ýÉñ¾­ÍøÂç(CNN)¡¢Ñ­»·Éñ¾­ÍøÂç(RNN)¡¢×Ô±àÂëPGµç¾º¹ÙÍø(AE)¡¢¶Ô¿¹Éú³ÉÍøÂç(GAN)µÈ¡£ÔÚ²»Í¬µÄÓ¦Óó¡¾°ÖУ¬ÐèÒª¸ù¾ÝÈÎÎñÌØµãÑ¡ÔñÊʺϵÄËã·¨£¬²¢½øÐÐʵÑéºÍÆÀ¹ÀÀ´ÑéÖ¤ÆäÓÐЧÐÔ¡£

ʹÓÃPaddleNLP¶ÔÔ´2.0½øÐÐѵÁ·

Èç¹ûÐèÒª»ùÓÚÔ´2.0´ÓÍ·½øÐÐѵÁ·£¬¿ÉÒԲο¼Ô¤ÑµÁ·²¿·Ö£»Èç¹ûÐèÒª»ùÓÚÔ´2.0´óÄ£ÐÍ£¬¶ÔÌØ¶¨µÄ¹¦ÄܽøÐС°ÓÅ»¯¡±£¬¿ÉÒԲο¼Î¢µ÷²¿·Ö£¬Ê¹ÓÃÌØ¶¨ÁìÓòµÄÊý¾Ý¼¯×ö΢µ÷£¬ÀûÓÃÏà¶Ô½ÏÉÙµÄ×ÊÔ´¾ÍÄÜѵÁ·³ö¸üÊʺÏʵ¼ÊÓ¦Óó¡¾°µÄ´óÄ£ÐÍ¡£

ԤѵÁ·

ÒÔÔ´2.0-51BÄ£ÐÍΪÀý£¬Êä³öÈçÏ£º

2.png

LossÇúÏßÈçÏ£¬¿ÉÊÕÁ²¡£Óû§¿ÉÒÔ»ùÓÚÔ´2.0µÄÄ£Ðͽṹ£¬Ê¹ÓÃ×Ô¼ºµÄÊý¾Ý¼¯´ÓÍ·½øÐÐԤѵÁ·£¬Éú³ÉרÊô»ù´¡´óÄ£ÐÍ¡£

3.png

΢µ÷

ÒÔÔ´2.0-51BÄ£ÐͽøÐÐLora΢µ÷ΪÀý£¬Êä³öÈçÏ£º

4.png

LossÇúÏßÈçÏ£¬¿ÉÊÕÁ²¡£Óû§¿ÉʹÓÃÌØ¶¨Êý¾Ý¼¯¶ÔÔ´2.0½øÐÐ΢µ÷£¬ÑµÁ·³ö¸üÊʺÏ×ÔÉíÒµÎñÐèÇóµÄ´óÄ£ÐÍ¡£

5.png

»¶Ó­¿ª·¢ÕßǰÍù¿ªÔ´ÏîÄ¿Ö÷Ò³Ö±½ÓÌåÑ飺

https://github.com/PaddlePaddle/PaddleNLP

PaddleNLP¹Ù·½¼¼Êõ½»Á÷Ⱥ£º

https://www.wjx.top/vm/Y2f7FFY.aspx?udsid=155517

6.png

ÊÛǰ×Éѯ

ÊÛºó·þÎñ

Òâ¼û·´À¡

AIStore

»Øµ½¶¥²¿

»Øµ½¶¥²¿

ÊÕÆð
»Øµ½¶¥²¿ »Øµ½¶¥²¿
ÇëÑ¡Ôñ·þÎñÏîÄ¿
ÊÛǰ×Éѯ
ÊÛºó·þÎñ
·ÃÎÊ AIStore

ɨÂë·ÃÎÊAIStore

¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿