Напредак у ЛЛМ Реасонинг: А Тецхницал Дееп Диве | B4N1

Напредак у ЛЛМ Реасонинг: А Тецхницал Дееп Диве

9 months ago · b4n1 Tiempo de lectura: 3 min

Увод

Велики језички модели (ЛЛМ) су последњих година направили револуцију у области обраде природног језика (НЛП). Ови модели су постигли врхунске резултате у различитим НЛП задацима, укључујући превод језика, сумирање текста и одговарање на питања. Међутим, прави потенцијал ЛЛМ-а лежи у њиховој способности да образложе и разумеју сложене односе између концепата. У овом чланку ћемо се упустити у напредак у ЛЛМ размишљању, истражујући основне технике, архитектуре и изазове.

Позадина

ЛЛМ су врста неуронске мреже која се обучава на огромним количинама текстуалних података како би научила обрасце и односе између речи и појмова. Ови модели се обично састоје од енкодера и декодера, где енкодер обрађује улазни текст, а декодер генерише излазни текст. Кодер је обично архитектура заснована на трансформатору, која је посебно погодна за секвенцијалне податке као што је текст.

Архитектура трансформатора

Архитектура трансформатора, представљена у раду "Пажња је све што вам треба" од стране Васванија ет ал. (2017), постао је де фацто стандард за ЛЛМ. Трансформатор се састоји од енкодера и декодера, од којих се сваки састоји од више слојева. Сваки слој се састоји од два подслоја: механизма самопажње и потпуно повезане мреже за прослеђивање протока (ФФНН).

увозна бакља
увези бакљу.нн као нн

цласс ТрансформерЛаиер(нн.Модуле):
    деф __инит__(селф, д_модел, н_хеадс, д_фф):
        супер(ТрансформерЛаиер, селф).__инит__()
        селф.селф_аттн = нн.МултиХеадАттентион(д_модел, н_хеадс)
        селф.ффнн = нн.Линеар(д_модел, д_фф)
        селф.дропоут = нн.Дропоут(0.1)
        селф.лаиер_норм = нн.ЛаиерНорм(д_модел)

    деф напред(селф, к):
        # Механизам самопажње
        к_аттн = селф.селф_аттн(к, к)
        к_аттн = селф.дропоут(к_аттн)
        к_аттн = к + к_аттн

        # ФФНН
        к_ффнн = селф.ффнн(к_аттн)
        к_ффнн = селф.дропоут(к_ффнн)
        к_ффнн = селф.лаиер_норм(к_ффнн + к_аттн)

        ретурн к_ффнн

Напредак у ЛЛМ Реасонинг

ЛЛМ су направили значајан напредак у закључивању и разумевању сложених односа између концепата. Неки од кључних напретка укључују:

1. Расуђивање засновано на графикону

Резоновање засновано на графу укључује представљање знања као графа, где чворови представљају концепте, а ивице односе између њих. ЛЛМ могу бити обучени да размишљају о овим графовима, правећи предвиђања о односима између чворова.

користите грапх::Грапх;
усе неурал_нетворк::НеуралНетворк;

фн грапх_реасонинг(граф: &Графикон, упит: &стр) -> Стринг {
    нека ембеддинг = неурална_мрежа.куери(граф, упит);
    нека резултат = неурална_мрежа.реасон(граф, уграђивање);
    ресулт.то_стринг()
}

2. Учење са више задатака

Учење са више задатака укључује обуку једног модела за више задатака истовремено. Показало се да овај приступ побољшава перформансе ЛЛМ-а на различитим задацима, укључујући расуђивање и разумевање сложених односа.

пакет главни

увоз (
	"фмт"
	"гонум.орг/в1/гонум/мат"
)

типе Модел струцт {
	*нн.Линеар
	*нн.Линеар
}

фунц (м *Модел) Напред (к *мат.Денсе) *мат.Денсе {
	// Пролаз напред
	з := м.Линеар(к)
	з = м.Линеар(з)
	повратак з
}

3. Механизми пажње

Механизми пажње омогућавају ЛЛМ да се фокусирају на одређене делове улазног текста када генеришу излаз. Показало се да овај приступ побољшава перформансе ЛЛМ-а на различитим задацима, укључујући расуђивање и разумевање сложених односа.

увозна бакља
увези бакљу.нн као нн

цласс АттентионМецханисм(нн.Модуле):
    деф __инит__(селф, д_модел, н_хеадс):
        супер(АттентионМецханисм, селф).__инит__()
        селф.куери = нн.Линеар(д_модел, д_модел)
        селф.кеи = нн.Линеар(д_модел, д_модел)
        селф.валуе = нн.Линеар(д_модел, д_модел)
        селф.дропоут = нн.Дропоут(0.1)
        селф.лаиер_норм = нн.ЛаиерНорм(д_модел)

    деф напред(селф, к):
        # Упит, кључ и вредност
        к = селф.куери(к)
        к = селф.кеи(к)
        в = селф.валуе(к)

        # Тегови пажње
        тежине = торцх.матмул(к, к.Т) / матх.скрт(к.схапе[1])
        тежине = селф.дропоут(веигхтс)
        тежине = торцх.софтмак(тежине, дим=-1)

        # Вектор контекста
        контекст = торцх.матмул(тежине, в)

        повратни контекст

Визуелизација

Да бисмо визуелизовали перформансе ЛЛМ-а на различитим задацима, можемо користити графикон да упоредимо тачност различитих модела на датом задатку. Ево примера графикона који користи Цхарт.јс:

{
  "тип": "бар",
  "подаци": {
    "ознаке": ["Задатак 1", "Задатак 2", "Задатак 3"],
    "сетови података": [
      {
        "лабел": "Модел 1",
        "подаци": [0,8, 0,7, 0,9],
        "бацкгроундЦолор": "ргба(255, 99, 132, 0.2)",
        "бордерЦолор": "ргба(255, 99, 132, 1)",
        "бордерВидтх": 1
      },
      {
        "лабел": "Модел 2",
        "подаци": [0,9, 0,8, 0,7],
        "бацкгроундЦолор": "ргба(54, 162, 235, 0.2)",
        "бордерЦолор": "ргба(54, 162, 235, 1)",
        "бордерВидтх": 1
      }
    ]
  },
  "опције": {
    "наслов": {
      "приказ": истина,
      "тект": "Тачност различитих модела на различитим задацима"
    },
    "вага": {
      "иАкес": [
        {
          "крпељи": {
            "бегинАтЗеро": истина
          }
        }
      ]
    }
  }
}

Закључак

У овом чланку смо истражили напредак у ЛЛМ расуђивању, укључујући резоновање засновано на графовима, учење са више задатака и механизме пажње. Такође смо дали примере кода у Питхон-у, Русту и Го-у да бисмо илустровали ове концепте. Коначно, користили смо графикон за визуелизацију учинка ЛЛМ-а на различитим задацима. Овај напредак има потенцијал да револуционише поље НЛП-а, омогућавајући ЛЛМ-има да размисле и разумеју сложене односе између концепата.

Референце

  • Васвани ет ал. (2017). Пажња је све што вам треба. арКсив препринт арКсив:1706.03762.
  • Девлин ет ал. (2018). БЕРТ: Пре-тренинг дубоких двосмерних трансформатора за разумевање језика. арКсив препринт арКсив:1810.04805.
  • Радфорд ет ал. (2019). Језички модели су ученици са више задатака без надзора. арКсив препринт арКсив:1906.08237.

¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn