Останні два роки були, мабуть, бурхливими для Twitter (X). Минулого року Ілон Маск придбав платформу за 44 мільярди доларів, а потім оновив персонал компанії, перегляд вмісту, бізнес-модель і культуру веб-сайту. Ці зміни можуть бути більше пов’язані з м’якою силою Ілона Маска, а не з конкретними політичними рішеннями. Однак серед цих суперечливих кроків нова функція Twitter швидко набуває значення та, здається, користується прихильністю в політичному спектрі: Замітки спільноти.
Community Notes — це інструмент перевірки фактів, який іноді додає контекстуальні анотації до твітів, як той, який написав Ілон Маск вище, як інструмент перевірки фактів і боротьби з дезінформацією. Спочатку вона називалася Birdwatch і була вперше запущена як пілотна програма в січні 2021 року. Відтоді він поступово розширювався, причому найшвидший етап розширення збігся з поглинанням Twitter Ілоном Маском минулого року. Сьогодні Нотатки спільноти є регулярною частиною твітів, які привертають багато уваги в Твіттері, зокрема тих, що стосуються суперечливих політичних тем. На мою думку та з моїх розмов із багатьма людьми з усього політичного спектру, ці Нотатки є інформативними та цінними, коли вони з’являються.
Але найбільше мене цікавить Community Notes, яка, хоч і не є «криптопроектом», є, мабуть, найближчим прикладом «криптоцінностей», які ми бачили в масовому світі. Нотатки спільноти не пишуть і не курують якісь централізовано обрані експерти; натомість будь-хто може писати та голосувати, і які Нотатки відображати чи ні, повністю визначається алгоритмом з відкритим кодом. На веб-сайті Twitter є докладний і вичерпний посібник із описом роботи алгоритму, і ви можете завантажити дані, що містять опубліковані примітки та голоси, запустити алгоритм локально та перевірити, чи результат відповідає тому, що видно на веб-сайті Twitter. Хоча він і не ідеальний, він напрочуд близький до ідеалу правдоподібного нейтралітету в досить суперечливих ситуаціях і водночас дуже корисний.
Як працює алгоритм Нотаток спільноти?
Будь-хто з обліковим записом Twitter, який відповідає певним критеріям (загалом: активний понад 6 місяців, відсутність історії порушень, підтверджений номер мобільного телефону), може зареєструватися для участі в Примітках спільноти. Наразі учасники приймаються повільно й у випадковому порядку, але з часом планується дозволити приєднатися всім, хто має право. Після прийняття ви можете спочатку брати участь у оцінюванні наявних Нотаток, а коли ваша оцінка буде достатньо високою (вимірюється шляхом перегляду того, яка оцінка відповідає кінцевому результату для цієї Нотатки), ви також зможете писати власні Нотатки.
Коли ви пишете Нотатки, Нотатки отримають оцінку на основі відгуків інших учасників Заміток спільноти. Ці відгуки можна розглядати як голосування на трьох рівнях: «корисний», «дещо корисний» і «не корисний», але відгуки також можуть містити інші позначки, які відіграють роль в алгоритмі. На основі цих відгуків Notes отримує оцінку. Якщо оцінка нотаток перевищує 0,40, то ця нотатка буде відображена; інакше ця нотатка не відображатиметься.
Що робить алгоритм унікальним, так це те, як обчислюється оцінка. На відміну від спрощених алгоритмів, які призначені для простого обчислення певної суми або середнього значення оцінок користувачів і використання цього як кінцевого результату, алгоритм оцінки Community Notes явно намагається віддати пріоритет тим, хто отримує позитивні оцінки від людей з різними точками зору Notes. Тобто, якщо люди, які зазвичай не погоджуються щодо оцінок, зрештою погоджуються з певною приміткою, тоді ця примітка буде високо оцінена.
Давайте глибше розглянемо, як це працює. У нас є набір користувачів і набір Notes; ми можемо створити матрицю M, де комірка Mij представляє, як i-й користувач оцінив j-th Notes.
Для будь-якої окремої Примітки більшість користувачів не оцінили цю Примітку, тому більшість записів у матриці буде нульовим, але це нормально. Мета алгоритму — створити модель із чотирьох стовпців користувачів і Notes, призначаючи кожному користувачеві дві статистичні дані, які ми можемо назвати «Дружність» і «Полярність», і призначаючи кожному Notes дві статистики, ми називаємо це «корисністю» та «полярність». Модель намагається передбачити матрицю як функцію цих значень за такою формулою:
Зауважте, що тут я вводжу термінологію, використану в документі Birdwatch, а також свою власну, щоб забезпечити більш інтуїтивне розуміння того, що означають змінні, не вдаючись у математичні поняття:
μ – це параметр «суспільних настроїв», який вимірює, наскільки високі оцінки користувачі зазвичай оцінюють.
iu — «дружелюбність» користувача, тобто наскільки ймовірно, що користувач схильний давати високу оцінку.
in — «корисність» нотатки, тобто наскільки ймовірно, що нотатка отримає високу оцінку. Це та змінна, яка нас хвилює.
fu або fn — «полярність» користувача або Notes, тобто їхня позиція на домінуючій осі політичних крайнощів. На практиці негативна полярність приблизно означає «лівий нахил», а позитивна полярність «правий нахил», але зауважте, що крайні осі виводяться з аналізу даних користувача та Notes, а концепції лівого та правого не є жорстко закодованими.
Алгоритм використовує досить базову модель машинного навчання (стандартний градієнтний спуск), щоб знайти найкращі значення змінної для прогнозування значень матриці. Корисність, присвоєна певній Примітці, є остаточним балом для цієї Примітки. Примітка буде відображена, якщо її корисність становить принаймні +0,4.
Основна винахідливість тут полягає в тому, що «полярність» поглинає характеристики Notes, через які він подобається одним користувачам і не подобається іншим користувачам, тоді як «корисність» вимірює лише характеристики Notes. Ці особливості призводять до того, що він подобається усіма користувачами. Таким чином, вибір корисності визначає Нотатки, які схвалені племенами, і виключає Нотатки, які вітаються в одному племені, але не подобаються іншому.
Вище описано лише основну частину алгоритму. Фактично, до нього додається багато додаткових механізмів. На щастя, вони описані у відкритих документах. Ці механізми включають наступне:
Алгоритм запускається кілька разів, кожного разу додаючи кілька випадково згенерованих екстремальних «псевдоголосів» до голосування. Це означає, що справжніми результатами алгоритму для кожної нотатки є діапазон значень, а кінцевий результат залежить від «нижчого рівня достовірності», взятого з цього діапазону та порівняного з пороговим значенням 0,32.
Якщо багато користувачів (особливо тих, хто має подібну полярність до Приміток) оцінили Примітки як «некорисні», і вони також присвоїли ту саму «мітку» (наприклад, «суперечлива або упереджена мова», «Примітки джерела не підтримуються»), що й через причину оцінки, то поріг корисності, необхідний для публікації Приміток, збільшується з 0,4 до 0,5 (це може здатися невеликим, але дуже важливим на практиці).
Якщо Примітку прийнято, її корисність має бути нижчою за порогове значення 0,01 бала, необхідного для прийняття Примітки.
Алгоритми запускаються більше разів із кількома моделями, іноді підвищуючи показники корисності Notes від 0,3 до 0,4.
Загалом, ви отримуєте досить складний код Python із 6282 рядків, розподілених у 22 файлах. Але все це відкрито, і ви можете завантажити Нотатки та дані оцінки та запустити їх самостійно, щоб перевірити, чи результат відповідає тому, що насправді відбувається в Twitter.
Отже, як це виглядає на практиці?
Ймовірно, найбільша відмінність між цим алгоритмом і методом простого отримання середнього балу з голосів людей полягає в концепції того, що я називаю значеннями «полярності». У документації алгоритму вони називаються fu та fn, використовуючи f як множник, оскільки два доданки множать один одного; більш загальний термін частково пояснюється можливим бажанням зробити fu та fn багатовимірними.
Полярність призначається для користувачів і Notes. Зв’язок між ідентифікатором користувача та основним обліковим записом Twitter навмисно зберігається приватним, але Notes є загальнодоступним. Насправді, принаймні для англійського набору даних, створена алгоритмом полярність дуже тісно корелює з лівим і правим.
Ось кілька прикладів Notes із полярністю близько -0,8:
Зауважте, що я тут не вибираю вишні; насправді це перші три рядки в електронній таблиці scored_notes.tsv, яку я генерую, коли запускаю алгоритм локально, і їхні оцінки полярності (які називаються coreNoteFactor 1 у електронній таблиці) менші, ніж -0,8.
Тепер ось кілька приміток із полярністю близько +0,8. Як виявилося, багато з них були або людьми, які говорили про бразильську політику португальською мовою, або фанатами Tesla, які гнівно спростовували критику Tesla, тож дозвольте мені трохи подумати та знайти деякі нотатки, які не підпадають під жодну категорію:
Нагадуємо, що «поділ ліворуч на право» жодним чином не закодовано в алгоритмі; воно виявляється обчислювальним шляхом. Це свідчить про те, що якщо застосувати цей алгоритм до інших культурних контекстів, він може автоматично виявити їхні основні політичні розбіжності та побудувати мости між ними.
Тим часом Нотатки, які мають найвищу корисність, виглядають так. Цього разу, оскільки Нотатки дійсно з’являються в Twitter, я можу просто зробити скріншот:
І ще:
Що стосується других «Нотаток», то вони більш безпосередньо стосуються дуже партійних політичних тем, але це чіткі, якісні та інформативні «Нотатки», які отримали за це високу оцінку. Загалом, здається, що алгоритм працює, і здається можливим перевірити результат алгоритму, запустивши код.
Що я думаю про алгоритм?
Що мене найбільше вразило під час аналізу цього алгоритму, так це його складність. Існує «академічна стаття», яка використовує градієнтний спуск, щоб знайти найкращу відповідність п’ятичленному векторному та матричному рівнянню, а також є реальна версія, складна серія алгоритмічних виконань із багатьма різними виконаннями та великою кількістю довільних коефіцієнтів .
Навіть академічні паперові версії приховують основні складності. Рівняння, яке воно оптимізує, є негативним квартичним (оскільки у формулі передбачення є квадратичний член fu*fn, а функція вартості вимірює квадрат помилки). У той час як оптимізація квадратного рівняння за будь-якою кількістю змінних майже завжди має унікальний розв’язок, який можна знайти за допомогою досить простої лінійної алгебри, оптимізація рівняння четвертого степеня за багатьма змінними зазвичай має багато розв’язків, тому кілька раундів алгоритму градієнтного спуску Різні відповіді можна отримати. Невеликі зміни вхідних даних можуть призвести до переходу спуску від одного локального мінімуму до іншого, що суттєво змінює вихідні результати.
Різниця між цим і алгоритмами, які я допомагав розробити, як-от квадратичне фінансування, для мене подібна до різниці між алгоритмом економіста та алгоритмом інженера. Алгоритми економістів, у кращому випадку, зосереджені на простоті, відносно легкі для аналізу та мають чіткі математичні властивості, які стверджують, що вони є оптимальними (або найменш поганими) для поставленого завдання, і в ідеалі доводять те, скільки шкоди хтось може завдати в намагаючись скористатися цим. Алгоритм інженера, з іншого боку, виводиться через ітеративний процес проб і помилок, щоб побачити, що працює, а що ні в робочому середовищі інженера. Алгоритм інженера прагматичний і виконує роботу; алгоритм економіста не втрачає повного контролю перед обличчям несподіваного.
Або, як шановний інтернет-філософ Рун (він же tszzl) висловив це у пов’язаній темі:
Звичайно, я б сказав, що аспект «теоретичної естетики» криптовалют необхідний для того, щоб мати можливість точно розрізнити ті протоколи, які справді не довіряють, і ті, які добре виглядають і працюють на перший погляд добре, але насправді вимагають довіри якомусь централізованому актору, Або ще гірше, це може бути відверте шахрайство.
Глибоке навчання є ефективним за звичайних умов, але воно має неминучі слабкі сторони для різних атак машинного навчання. Якщо все зроблено правильно, технічні пастки та дуже абстрактні сходи можуть протистояти цим атакам. Отже, у мене є запитання: чи можемо ми перетворити самі Нотатки спільноти на щось більше схоже на економічний алгоритм?
Щоб побачити на практиці, що це означає, давайте дослідимо алгоритм, який я розробив для подібної мети кілька років тому: попарно обмежене квадратичне фінансування.
Мета попарно обмеженого квадратичного фінансування полягає в тому, щоб заповнити лазівку у «звичайному» квадратичному фінансуванні, коли навіть якщо два гравці вступають у змову один з одним, вони можуть внести дуже великі суми у фіктивний проект, повернути їм кошти та отримати великі субсидії, які виснажують усі ваші гроші. У попарно обмеженому квадратичному фінансуванні ми призначаємо кінцевий бюджет M кожній парі учасників. Алгоритм виконує ітерацію по всіх можливих парах учасників, і якщо алгоритм вирішує додати субсидію до якогось проекту P, оскільки його підтримують і учасник A, і учасник B, тоді ця субсидія вираховується з бюджету, виділеного для цієї пари (A, B) . Таким чином, навіть якщо k учасників змовляються, сума, яку вони викрадають з механізму, не перевищує k *(k-1)*M.
Ця форма алгоритму не працює належним чином у контексті Приміток спільноти, оскільки кожен користувач віддає лише невелику кількість голосів: у середньому спільний голос між будь-якими двома користувачами дорівнює нулю, тому, просто дивлячись на кожну пару користувачів окремо, алгоритм не може дізнатися про полярність користувачів. Мета моделі машинного навчання полягає саме в тому, щоб спробувати «заповнити» матрицю з дуже розріджених вихідних даних, які неможливо безпосередньо проаналізувати таким чином. Але проблема цього підходу полягає в тому, що потрібні додаткові зусилля, щоб уникнути дуже нестабільних результатів в умовах невеликої кількості поганих голосів.
Чи можуть Записки спільноти справді протистояти лівим і правим?
Ми можемо проаналізувати, чи дійсно алгоритм Community Notes стійкий до крайнощів, тобто чи працює він краще, ніж наївний алгоритм голосування. Цей алгоритм голосування вже дещо стійкий до крайнощів: пост із 200 лайками та 100 нелайками матиме гірші результати, ніж пост із лише 200 лайками. Але чи краще Нотатки спільноти?
З точки зору абстрактного алгоритму, це важко сказати. Чому поляризаційна публікація з високим середнім рейтингом не може отримати сильну полярність і високу корисність? Ідея полягає в тому, що якщо ці голоси суперечливі, полярність має «поглинути» функцію, через яку допис отримав багато голосів, але чи насправді це робиться?
Щоб перевірити це, я запустив свою спрощену реалізацію протягом 100 раундів. Середній результат такий:
У цьому тесті «хороші» Нотатки отримали оцінку +2 від користувачів тієї самої політичної приналежності, +0 — користувачі з протилежною політичною приналежністю, а «хороші, але більш екстремальні» Нотатки були оцінені користувачами тієї ж приналежності до +4 у , і -2 у користувачів протилежної фракції. Хоча середній бал однаковий, полярність різна. І насправді, середня корисність «хороших» Notes, здається, вища, ніж «хороших, але більш екстремальних» Notes.
Наявність алгоритму, ближчого до «алгоритму економіста», мала б більш зрозумілу історію про те, як алгоритм карає крайнощі.
Наскільки все це корисно в ситуації з високими ставками?
Ми можемо дізнатися про деякі з них, подивившись на конкретну ситуацію. Приблизно місяць тому Ієн Бреммер поскаржився, що в твіті додано дуже критичну примітку спільноти, але з тих пір примітки були видалені.
Це надскладне завдання. Дизайн механізму — це одна річ у середовищі спільноти Ethereum, де найбільша скарга може стосуватися лише 20 000 доларів США, які надходять екстремальному впливовому учаснику Twitter. Інша історія, коли йдеться про політичні та геополітичні питання, які стосуються мільйонів людей, і кожен схильний розумно припускати найгірші можливі мотиви. Але взаємодія з цими високими ставками є важливою, якщо дизайнери механіки хочуть мати значний вплив на світ.
На щастя, алгоритм має відкритий вихідний код і його можна перевірити, тому ми можемо розібратися в суті! Давай зробимо це. URL-адреса оригінального твіту — це число 1676157337109946369, а в кінці — ідентифікатор твіту. Ми можемо знайти цей ідентифікатор у завантажуваних даних і визначити конкретний рядок в електронній таблиці, який містить наведені вище примітки:
Тут ми маємо ідентифікатор самого Notes, 1676391378815709184. Потім ми шукаємо цей ідентифікатор у файлах scored_notes.tsv і note_status_history.tsv, згенерованих під час виконання алгоритму. Ми отримали такий результат:
Другий стовпець у першому виведенні – поточний рейтинг Notes. Другий вивід показує історію Notes: його поточний статус у стовпці сьомий (NEEDS_MORE_RATINGS), а перший отриманий статус, який не був NEEDS_MORE_RATINGS, у стовпці п’ятий (NEEDS_MORE_RATINGS ) . ЗАРАЗ_ОЦІНКА_КОРИСНИЙ). Тож ми бачимо, що сам алгоритм спочатку показав Примітки, а потім видалив їх після того, як їхні рейтинги трохи впали – здається, ніякого центрального втручання не було.
Ми також можемо поглянути на це з іншого боку, поглянувши на саме голосування. Ми можемо відсканувати файл ratings-00000.tsv, щоб виділити всі оцінки для цих приміток і побачити, скільки з них оцінено КОРИСНО, а НЕ_КОРИСНО:
Однак, якщо ви відсортуєте їх за міткою часу та подивіться на 50 найкращих голосів, ви побачите, що є 40 КОРИСНИХ голосів і 9 НЕ_КОРИСНИХ голосів. Тож ми дійшли того самого висновку: початкова аудиторія оцінила Notes більш позитивно, а пізніша — менш, тому його рейтинг спочатку був високим, а з часом знизився.
На жаль, важко пояснити, як саме Notes змінює статус: це не просто питання «раніше оцінка була вище 0,40, тепер оцінка нижче 0,40, тому її видалено». Натомість велика кількість відповідей NOT_HELPFUL викликає одну з умов винятку, підвищуючи показник корисності, який Notes повинен залишатися вищим за порогове значення.
Це ще одна чудова можливість для навчання, яка дає нам урок: щоб зробити надійний нейтральний алгоритм справді надійним, потрібно бути простим. Якщо Нотатки стають неприйнятими, має бути проста й зрозуміла історія, чому це так.
Звичайно, є ще один зовсім інший спосіб маніпулювання цим голосуванням: бригадування. Хтось, хто бачить нотатки, які вони не схвалюють, може звернутися до дуже зацікавленої спільноти (або ще гірше, легіону фальшивих облікових записів), щоб оцінити це як НЕ_КОРИСНЕ, і, ймовірно, не потрібно багато голосів, щоб отримати нотатки від " корисний» до «екстремальний». Щоб належним чином зменшити вразливість алгоритму до таких скоординованих атак, потрібні додаткові аналізи та робота. Можливе покращення полягало б у тому, щоб не дозволяти жодному користувачеві голосувати за будь-які нотатки, а натомість випадковим чином призначати нотатки оцінювачам, використовуючи рекомендацію алгоритму «для вас», і дозволяти оцінювачам оцінювати лише ті нотатки, до яких вони призначені.
Примітки спільноти Недостатньо «сміливий»?
Основна критика, яку я бачу щодо Community Notes, полягає в тому, що вони не роблять достатньо. Я бачив дві нещодавні статті про це. Процитую одну зі статей:
Цей процес має серйозні обмеження: для того, щоб Нотатки спільноти стали публічними, вони повинні бути загальновизнаними людьми з усього політичного спектру.
«Має бути ідеологічний консенсус», – сказав він. «Це означає, що люди ліворуч і праворуч повинні погодитися, що замітка має бути прикріплена до твіту».
По суті, за його словами, це вимагає «перехресної ідеологічної згоди щодо правди, що є майже неможливим у все більш партійному середовищі».
Це складне запитання, але врешті-решт я схиляюся до думки, що краще опублікувати десять твітів з дезінформацією, ніж один твіт з несправедливими коментарями. Ми бачили роки перевірки фактів, яка є сміливою та з точки зору «насправді ми знаємо правду, ми знаємо, що одна сторона бреше частіше, ніж інша». Що станеться?
Чесно кажучи, існує досить поширена недовіра до самої концепції фактчекінгу. Тут одна стратегія полягає в тому, щоб сказати: ігноруйте цих критиків, пам’ятайте, що перевіряючі факти знають факти краще, ніж будь-яка система голосування, і дотримуйтеся цього. Але йти ва-банк на такому підході здається ризикованим. Існує цінність у створенні міжплемінних інститутів, які принаймні певною мірою поважаються всіма. Подібно до вислови Вільяма Блекстоуна та судів, я вважаю, що збереження цієї поваги вимагає системи, яка помиляється через упущення, а не через свідому помилку. Тож мені здається доцільним, щоб принаймні одна велика організація пішла іншим шляхом і вбачила свою рідкісну міжплемінну повагу як дорогоцінний ресурс.
Ще одна причина, чому я вважаю, що це нормально, щоб «Нотатки спільноти» були консервативними, полягає в тому, що я не вважаю, що кожен дезінформований твіт або навіть більшість дезінформованих твітів повинні отримувати виправлення. Навіть якщо менше одного відсотка дезінформованих твітів анотовано для надання контексту чи виправлення, «Нотатки спільноти» все одно надають надзвичайно цінну послугу як освітній інструмент. Мета полягає не в тому, щоб виправити все; скоріше, мета полягає в тому, щоб нагадати людям, що існує кілька точок зору, що деякі з публікацій, які здаються переконливими та захоплюючими окремо, насправді є досить неправильними, і що ви, так, ви зазвичай можете зробити базові Пошук в Інтернеті, щоб переконатися, що це неправильно.
Записки спільноти не можуть бути і не мають на меті бути панацеєю від усіх проблем суспільної епістемології. Які б проблеми він не вирішував, є достатньо можливостей для вирішення іншими механізмами, будь то нові гаджети, як-от ринки прогнозів, або відомі організації, які наймають на повний робочий день персонал із досвідом роботи, щоб спробувати заповнити прогалини.
на завершення
Community Notes — це не лише захоплюючий експеримент із соціальними медіа, але й захоплюючий приклад нового типу дизайну механізмів: механізмів, які свідомо намагаються виявити крайнощі та мають тенденцію сприяти переходу, а не увічнити розкол.
Ще два приклади в цій категорії, які мені відомі, це: (i) парний квадратичний механізм фінансування, який використовується в Gitcoin Grants, і (ii) Polis, інструмент обговорення, який використовує алгоритми кластеризації, щоб допомогти спільноті визначити загальні популярні твердження, що стосуються людей, які часто мають різні думки. Ця сфера проектування механізмів є цінною, і я сподіваюся, що ми побачимо більше наукової роботи в цій галузі.
Алгоритмічна прозорість, яку забезпечують Нотатки спільноти, не є повністю децентралізованими соціальними мережами – якщо ви не згодні з тим, як працюють Нотатки спільноти, ви не зможете побачити іншу алгоритмічну точку зору на той самий вміст. Але це найближче, до чого піднімуться гіпермасштабовані додатки в найближчі кілька років, і ми бачимо, що це вже надає велику цінність, як запобігаючи централізованим маніпуляціям, так і гарантуючи, що платформи, які не беруть участі в таких маніпуляціях, отримують визнання того, на що вони заслуговують. .
Я з нетерпінням чекаю, коли Нотатки спільноти та багато алгоритмів подібного духу розвиватимуться та розвиватимуться протягом наступного десятиліття.
V God: Social Media Experiment Community Notes дуже зашифровані
Автор: vitalik; Упорядник: Deep Tide TechFlow
Останні два роки були, мабуть, бурхливими для Twitter (X). Минулого року Ілон Маск придбав платформу за 44 мільярди доларів, а потім оновив персонал компанії, перегляд вмісту, бізнес-модель і культуру веб-сайту. Ці зміни можуть бути більше пов’язані з м’якою силою Ілона Маска, а не з конкретними політичними рішеннями. Однак серед цих суперечливих кроків нова функція Twitter швидко набуває значення та, здається, користується прихильністю в політичному спектрі: Замітки спільноти.
Community Notes — це інструмент перевірки фактів, який іноді додає контекстуальні анотації до твітів, як той, який написав Ілон Маск вище, як інструмент перевірки фактів і боротьби з дезінформацією. Спочатку вона називалася Birdwatch і була вперше запущена як пілотна програма в січні 2021 року. Відтоді він поступово розширювався, причому найшвидший етап розширення збігся з поглинанням Twitter Ілоном Маском минулого року. Сьогодні Нотатки спільноти є регулярною частиною твітів, які привертають багато уваги в Твіттері, зокрема тих, що стосуються суперечливих політичних тем. На мою думку та з моїх розмов із багатьма людьми з усього політичного спектру, ці Нотатки є інформативними та цінними, коли вони з’являються.
Але найбільше мене цікавить Community Notes, яка, хоч і не є «криптопроектом», є, мабуть, найближчим прикладом «криптоцінностей», які ми бачили в масовому світі. Нотатки спільноти не пишуть і не курують якісь централізовано обрані експерти; натомість будь-хто може писати та голосувати, і які Нотатки відображати чи ні, повністю визначається алгоритмом з відкритим кодом. На веб-сайті Twitter є докладний і вичерпний посібник із описом роботи алгоритму, і ви можете завантажити дані, що містять опубліковані примітки та голоси, запустити алгоритм локально та перевірити, чи результат відповідає тому, що видно на веб-сайті Twitter. Хоча він і не ідеальний, він напрочуд близький до ідеалу правдоподібного нейтралітету в досить суперечливих ситуаціях і водночас дуже корисний.
Як працює алгоритм Нотаток спільноти?
Будь-хто з обліковим записом Twitter, який відповідає певним критеріям (загалом: активний понад 6 місяців, відсутність історії порушень, підтверджений номер мобільного телефону), може зареєструватися для участі в Примітках спільноти. Наразі учасники приймаються повільно й у випадковому порядку, але з часом планується дозволити приєднатися всім, хто має право. Після прийняття ви можете спочатку брати участь у оцінюванні наявних Нотаток, а коли ваша оцінка буде достатньо високою (вимірюється шляхом перегляду того, яка оцінка відповідає кінцевому результату для цієї Нотатки), ви також зможете писати власні Нотатки.
Коли ви пишете Нотатки, Нотатки отримають оцінку на основі відгуків інших учасників Заміток спільноти. Ці відгуки можна розглядати як голосування на трьох рівнях: «корисний», «дещо корисний» і «не корисний», але відгуки також можуть містити інші позначки, які відіграють роль в алгоритмі. На основі цих відгуків Notes отримує оцінку. Якщо оцінка нотаток перевищує 0,40, то ця нотатка буде відображена; інакше ця нотатка не відображатиметься.
Що робить алгоритм унікальним, так це те, як обчислюється оцінка. На відміну від спрощених алгоритмів, які призначені для простого обчислення певної суми або середнього значення оцінок користувачів і використання цього як кінцевого результату, алгоритм оцінки Community Notes явно намагається віддати пріоритет тим, хто отримує позитивні оцінки від людей з різними точками зору Notes. Тобто, якщо люди, які зазвичай не погоджуються щодо оцінок, зрештою погоджуються з певною приміткою, тоді ця примітка буде високо оцінена.
Давайте глибше розглянемо, як це працює. У нас є набір користувачів і набір Notes; ми можемо створити матрицю M, де комірка Mij представляє, як i-й користувач оцінив j-th Notes.
Для будь-якої окремої Примітки більшість користувачів не оцінили цю Примітку, тому більшість записів у матриці буде нульовим, але це нормально. Мета алгоритму — створити модель із чотирьох стовпців користувачів і Notes, призначаючи кожному користувачеві дві статистичні дані, які ми можемо назвати «Дружність» і «Полярність», і призначаючи кожному Notes дві статистики, ми називаємо це «корисністю» та «полярність». Модель намагається передбачити матрицю як функцію цих значень за такою формулою:
Зауважте, що тут я вводжу термінологію, використану в документі Birdwatch, а також свою власну, щоб забезпечити більш інтуїтивне розуміння того, що означають змінні, не вдаючись у математичні поняття:
Алгоритм використовує досить базову модель машинного навчання (стандартний градієнтний спуск), щоб знайти найкращі значення змінної для прогнозування значень матриці. Корисність, присвоєна певній Примітці, є остаточним балом для цієї Примітки. Примітка буде відображена, якщо її корисність становить принаймні +0,4.
Основна винахідливість тут полягає в тому, що «полярність» поглинає характеристики Notes, через які він подобається одним користувачам і не подобається іншим користувачам, тоді як «корисність» вимірює лише характеристики Notes. Ці особливості призводять до того, що він подобається усіма користувачами. Таким чином, вибір корисності визначає Нотатки, які схвалені племенами, і виключає Нотатки, які вітаються в одному племені, але не подобаються іншому.
Вище описано лише основну частину алгоритму. Фактично, до нього додається багато додаткових механізмів. На щастя, вони описані у відкритих документах. Ці механізми включають наступне:
Загалом, ви отримуєте досить складний код Python із 6282 рядків, розподілених у 22 файлах. Але все це відкрито, і ви можете завантажити Нотатки та дані оцінки та запустити їх самостійно, щоб перевірити, чи результат відповідає тому, що насправді відбувається в Twitter.
Отже, як це виглядає на практиці?
Ймовірно, найбільша відмінність між цим алгоритмом і методом простого отримання середнього балу з голосів людей полягає в концепції того, що я називаю значеннями «полярності». У документації алгоритму вони називаються fu та fn, використовуючи f як множник, оскільки два доданки множать один одного; більш загальний термін частково пояснюється можливим бажанням зробити fu та fn багатовимірними.
Полярність призначається для користувачів і Notes. Зв’язок між ідентифікатором користувача та основним обліковим записом Twitter навмисно зберігається приватним, але Notes є загальнодоступним. Насправді, принаймні для англійського набору даних, створена алгоритмом полярність дуже тісно корелює з лівим і правим.
Ось кілька прикладів Notes із полярністю близько -0,8:
Зауважте, що я тут не вибираю вишні; насправді це перші три рядки в електронній таблиці scored_notes.tsv, яку я генерую, коли запускаю алгоритм локально, і їхні оцінки полярності (які називаються coreNoteFactor 1 у електронній таблиці) менші, ніж -0,8.
Тепер ось кілька приміток із полярністю близько +0,8. Як виявилося, багато з них були або людьми, які говорили про бразильську політику португальською мовою, або фанатами Tesla, які гнівно спростовували критику Tesla, тож дозвольте мені трохи подумати та знайти деякі нотатки, які не підпадають під жодну категорію:
Нагадуємо, що «поділ ліворуч на право» жодним чином не закодовано в алгоритмі; воно виявляється обчислювальним шляхом. Це свідчить про те, що якщо застосувати цей алгоритм до інших культурних контекстів, він може автоматично виявити їхні основні політичні розбіжності та побудувати мости між ними.
Тим часом Нотатки, які мають найвищу корисність, виглядають так. Цього разу, оскільки Нотатки дійсно з’являються в Twitter, я можу просто зробити скріншот:
І ще:
Що стосується других «Нотаток», то вони більш безпосередньо стосуються дуже партійних політичних тем, але це чіткі, якісні та інформативні «Нотатки», які отримали за це високу оцінку. Загалом, здається, що алгоритм працює, і здається можливим перевірити результат алгоритму, запустивши код.
Що я думаю про алгоритм?
Що мене найбільше вразило під час аналізу цього алгоритму, так це його складність. Існує «академічна стаття», яка використовує градієнтний спуск, щоб знайти найкращу відповідність п’ятичленному векторному та матричному рівнянню, а також є реальна версія, складна серія алгоритмічних виконань із багатьма різними виконаннями та великою кількістю довільних коефіцієнтів .
Навіть академічні паперові версії приховують основні складності. Рівняння, яке воно оптимізує, є негативним квартичним (оскільки у формулі передбачення є квадратичний член fu*fn, а функція вартості вимірює квадрат помилки). У той час як оптимізація квадратного рівняння за будь-якою кількістю змінних майже завжди має унікальний розв’язок, який можна знайти за допомогою досить простої лінійної алгебри, оптимізація рівняння четвертого степеня за багатьма змінними зазвичай має багато розв’язків, тому кілька раундів алгоритму градієнтного спуску Різні відповіді можна отримати. Невеликі зміни вхідних даних можуть призвести до переходу спуску від одного локального мінімуму до іншого, що суттєво змінює вихідні результати.
Різниця між цим і алгоритмами, які я допомагав розробити, як-от квадратичне фінансування, для мене подібна до різниці між алгоритмом економіста та алгоритмом інженера. Алгоритми економістів, у кращому випадку, зосереджені на простоті, відносно легкі для аналізу та мають чіткі математичні властивості, які стверджують, що вони є оптимальними (або найменш поганими) для поставленого завдання, і в ідеалі доводять те, скільки шкоди хтось може завдати в намагаючись скористатися цим. Алгоритм інженера, з іншого боку, виводиться через ітеративний процес проб і помилок, щоб побачити, що працює, а що ні в робочому середовищі інженера. Алгоритм інженера прагматичний і виконує роботу; алгоритм економіста не втрачає повного контролю перед обличчям несподіваного.
Або, як шановний інтернет-філософ Рун (він же tszzl) висловив це у пов’язаній темі:
Звичайно, я б сказав, що аспект «теоретичної естетики» криптовалют необхідний для того, щоб мати можливість точно розрізнити ті протоколи, які справді не довіряють, і ті, які добре виглядають і працюють на перший погляд добре, але насправді вимагають довіри якомусь централізованому актору, Або ще гірше, це може бути відверте шахрайство.
Глибоке навчання є ефективним за звичайних умов, але воно має неминучі слабкі сторони для різних атак машинного навчання. Якщо все зроблено правильно, технічні пастки та дуже абстрактні сходи можуть протистояти цим атакам. Отже, у мене є запитання: чи можемо ми перетворити самі Нотатки спільноти на щось більше схоже на економічний алгоритм?
Щоб побачити на практиці, що це означає, давайте дослідимо алгоритм, який я розробив для подібної мети кілька років тому: попарно обмежене квадратичне фінансування.
Мета попарно обмеженого квадратичного фінансування полягає в тому, щоб заповнити лазівку у «звичайному» квадратичному фінансуванні, коли навіть якщо два гравці вступають у змову один з одним, вони можуть внести дуже великі суми у фіктивний проект, повернути їм кошти та отримати великі субсидії, які виснажують усі ваші гроші. У попарно обмеженому квадратичному фінансуванні ми призначаємо кінцевий бюджет M кожній парі учасників. Алгоритм виконує ітерацію по всіх можливих парах учасників, і якщо алгоритм вирішує додати субсидію до якогось проекту P, оскільки його підтримують і учасник A, і учасник B, тоді ця субсидія вираховується з бюджету, виділеного для цієї пари (A, B) . Таким чином, навіть якщо k учасників змовляються, сума, яку вони викрадають з механізму, не перевищує k *(k-1)*M.
Ця форма алгоритму не працює належним чином у контексті Приміток спільноти, оскільки кожен користувач віддає лише невелику кількість голосів: у середньому спільний голос між будь-якими двома користувачами дорівнює нулю, тому, просто дивлячись на кожну пару користувачів окремо, алгоритм не може дізнатися про полярність користувачів. Мета моделі машинного навчання полягає саме в тому, щоб спробувати «заповнити» матрицю з дуже розріджених вихідних даних, які неможливо безпосередньо проаналізувати таким чином. Але проблема цього підходу полягає в тому, що потрібні додаткові зусилля, щоб уникнути дуже нестабільних результатів в умовах невеликої кількості поганих голосів.
Чи можуть Записки спільноти справді протистояти лівим і правим?
Ми можемо проаналізувати, чи дійсно алгоритм Community Notes стійкий до крайнощів, тобто чи працює він краще, ніж наївний алгоритм голосування. Цей алгоритм голосування вже дещо стійкий до крайнощів: пост із 200 лайками та 100 нелайками матиме гірші результати, ніж пост із лише 200 лайками. Але чи краще Нотатки спільноти?
З точки зору абстрактного алгоритму, це важко сказати. Чому поляризаційна публікація з високим середнім рейтингом не може отримати сильну полярність і високу корисність? Ідея полягає в тому, що якщо ці голоси суперечливі, полярність має «поглинути» функцію, через яку допис отримав багато голосів, але чи насправді це робиться?
Щоб перевірити це, я запустив свою спрощену реалізацію протягом 100 раундів. Середній результат такий:
У цьому тесті «хороші» Нотатки отримали оцінку +2 від користувачів тієї самої політичної приналежності, +0 — користувачі з протилежною політичною приналежністю, а «хороші, але більш екстремальні» Нотатки були оцінені користувачами тієї ж приналежності до +4 у , і -2 у користувачів протилежної фракції. Хоча середній бал однаковий, полярність різна. І насправді, середня корисність «хороших» Notes, здається, вища, ніж «хороших, але більш екстремальних» Notes.
Наявність алгоритму, ближчого до «алгоритму економіста», мала б більш зрозумілу історію про те, як алгоритм карає крайнощі.
Наскільки все це корисно в ситуації з високими ставками?
Ми можемо дізнатися про деякі з них, подивившись на конкретну ситуацію. Приблизно місяць тому Ієн Бреммер поскаржився, що в твіті додано дуже критичну примітку спільноти, але з тих пір примітки були видалені.
Це надскладне завдання. Дизайн механізму — це одна річ у середовищі спільноти Ethereum, де найбільша скарга може стосуватися лише 20 000 доларів США, які надходять екстремальному впливовому учаснику Twitter. Інша історія, коли йдеться про політичні та геополітичні питання, які стосуються мільйонів людей, і кожен схильний розумно припускати найгірші можливі мотиви. Але взаємодія з цими високими ставками є важливою, якщо дизайнери механіки хочуть мати значний вплив на світ.
На щастя, алгоритм має відкритий вихідний код і його можна перевірити, тому ми можемо розібратися в суті! Давай зробимо це. URL-адреса оригінального твіту — це число 1676157337109946369, а в кінці — ідентифікатор твіту. Ми можемо знайти цей ідентифікатор у завантажуваних даних і визначити конкретний рядок в електронній таблиці, який містить наведені вище примітки:
Тут ми маємо ідентифікатор самого Notes, 1676391378815709184. Потім ми шукаємо цей ідентифікатор у файлах scored_notes.tsv і note_status_history.tsv, згенерованих під час виконання алгоритму. Ми отримали такий результат:
Другий стовпець у першому виведенні – поточний рейтинг Notes. Другий вивід показує історію Notes: його поточний статус у стовпці сьомий (NEEDS_MORE_RATINGS), а перший отриманий статус, який не був NEEDS_MORE_RATINGS, у стовпці п’ятий (NEEDS_MORE_RATINGS ) . ЗАРАЗ_ОЦІНКА_КОРИСНИЙ). Тож ми бачимо, що сам алгоритм спочатку показав Примітки, а потім видалив їх після того, як їхні рейтинги трохи впали – здається, ніякого центрального втручання не було.
Ми також можемо поглянути на це з іншого боку, поглянувши на саме голосування. Ми можемо відсканувати файл ratings-00000.tsv, щоб виділити всі оцінки для цих приміток і побачити, скільки з них оцінено КОРИСНО, а НЕ_КОРИСНО:
Однак, якщо ви відсортуєте їх за міткою часу та подивіться на 50 найкращих голосів, ви побачите, що є 40 КОРИСНИХ голосів і 9 НЕ_КОРИСНИХ голосів. Тож ми дійшли того самого висновку: початкова аудиторія оцінила Notes більш позитивно, а пізніша — менш, тому його рейтинг спочатку був високим, а з часом знизився.
На жаль, важко пояснити, як саме Notes змінює статус: це не просто питання «раніше оцінка була вище 0,40, тепер оцінка нижче 0,40, тому її видалено». Натомість велика кількість відповідей NOT_HELPFUL викликає одну з умов винятку, підвищуючи показник корисності, який Notes повинен залишатися вищим за порогове значення.
Це ще одна чудова можливість для навчання, яка дає нам урок: щоб зробити надійний нейтральний алгоритм справді надійним, потрібно бути простим. Якщо Нотатки стають неприйнятими, має бути проста й зрозуміла історія, чому це так.
Звичайно, є ще один зовсім інший спосіб маніпулювання цим голосуванням: бригадування. Хтось, хто бачить нотатки, які вони не схвалюють, може звернутися до дуже зацікавленої спільноти (або ще гірше, легіону фальшивих облікових записів), щоб оцінити це як НЕ_КОРИСНЕ, і, ймовірно, не потрібно багато голосів, щоб отримати нотатки від " корисний» до «екстремальний». Щоб належним чином зменшити вразливість алгоритму до таких скоординованих атак, потрібні додаткові аналізи та робота. Можливе покращення полягало б у тому, щоб не дозволяти жодному користувачеві голосувати за будь-які нотатки, а натомість випадковим чином призначати нотатки оцінювачам, використовуючи рекомендацію алгоритму «для вас», і дозволяти оцінювачам оцінювати лише ті нотатки, до яких вони призначені.
Примітки спільноти Недостатньо «сміливий»?
Основна критика, яку я бачу щодо Community Notes, полягає в тому, що вони не роблять достатньо. Я бачив дві нещодавні статті про це. Процитую одну зі статей:
Цей процес має серйозні обмеження: для того, щоб Нотатки спільноти стали публічними, вони повинні бути загальновизнаними людьми з усього політичного спектру.
«Має бути ідеологічний консенсус», – сказав він. «Це означає, що люди ліворуч і праворуч повинні погодитися, що замітка має бути прикріплена до твіту».
По суті, за його словами, це вимагає «перехресної ідеологічної згоди щодо правди, що є майже неможливим у все більш партійному середовищі».
Це складне запитання, але врешті-решт я схиляюся до думки, що краще опублікувати десять твітів з дезінформацією, ніж один твіт з несправедливими коментарями. Ми бачили роки перевірки фактів, яка є сміливою та з точки зору «насправді ми знаємо правду, ми знаємо, що одна сторона бреше частіше, ніж інша». Що станеться?
Чесно кажучи, існує досить поширена недовіра до самої концепції фактчекінгу. Тут одна стратегія полягає в тому, щоб сказати: ігноруйте цих критиків, пам’ятайте, що перевіряючі факти знають факти краще, ніж будь-яка система голосування, і дотримуйтеся цього. Але йти ва-банк на такому підході здається ризикованим. Існує цінність у створенні міжплемінних інститутів, які принаймні певною мірою поважаються всіма. Подібно до вислови Вільяма Блекстоуна та судів, я вважаю, що збереження цієї поваги вимагає системи, яка помиляється через упущення, а не через свідому помилку. Тож мені здається доцільним, щоб принаймні одна велика організація пішла іншим шляхом і вбачила свою рідкісну міжплемінну повагу як дорогоцінний ресурс.
Ще одна причина, чому я вважаю, що це нормально, щоб «Нотатки спільноти» були консервативними, полягає в тому, що я не вважаю, що кожен дезінформований твіт або навіть більшість дезінформованих твітів повинні отримувати виправлення. Навіть якщо менше одного відсотка дезінформованих твітів анотовано для надання контексту чи виправлення, «Нотатки спільноти» все одно надають надзвичайно цінну послугу як освітній інструмент. Мета полягає не в тому, щоб виправити все; скоріше, мета полягає в тому, щоб нагадати людям, що існує кілька точок зору, що деякі з публікацій, які здаються переконливими та захоплюючими окремо, насправді є досить неправильними, і що ви, так, ви зазвичай можете зробити базові Пошук в Інтернеті, щоб переконатися, що це неправильно.
Записки спільноти не можуть бути і не мають на меті бути панацеєю від усіх проблем суспільної епістемології. Які б проблеми він не вирішував, є достатньо можливостей для вирішення іншими механізмами, будь то нові гаджети, як-от ринки прогнозів, або відомі організації, які наймають на повний робочий день персонал із досвідом роботи, щоб спробувати заповнити прогалини.
на завершення
Community Notes — це не лише захоплюючий експеримент із соціальними медіа, але й захоплюючий приклад нового типу дизайну механізмів: механізмів, які свідомо намагаються виявити крайнощі та мають тенденцію сприяти переходу, а не увічнити розкол.
Ще два приклади в цій категорії, які мені відомі, це: (i) парний квадратичний механізм фінансування, який використовується в Gitcoin Grants, і (ii) Polis, інструмент обговорення, який використовує алгоритми кластеризації, щоб допомогти спільноті визначити загальні популярні твердження, що стосуються людей, які часто мають різні думки. Ця сфера проектування механізмів є цінною, і я сподіваюся, що ми побачимо більше наукової роботи в цій галузі.
Алгоритмічна прозорість, яку забезпечують Нотатки спільноти, не є повністю децентралізованими соціальними мережами – якщо ви не згодні з тим, як працюють Нотатки спільноти, ви не зможете побачити іншу алгоритмічну точку зору на той самий вміст. Але це найближче, до чого піднімуться гіпермасштабовані додатки в найближчі кілька років, і ми бачимо, що це вже надає велику цінність, як запобігаючи централізованим маніпуляціям, так і гарантуючи, що платформи, які не беруть участі в таких маніпуляціях, отримують визнання того, на що вони заслуговують. .
Я з нетерпінням чекаю, коли Нотатки спільноти та багато алгоритмів подібного духу розвиватимуться та розвиватимуться протягом наступного десятиліття.