Program, information processing method, and information processing apparatus

By encrypting language model parameters and inputs, the solution addresses the risk of information leakage in language model services, maintaining confidentiality and security in communication systems.

JP2026002690APending Publication Date: 2026-01-08LY CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024100852
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-06-21
Publication Date
2026-01-08

AI Technical Summary

Technical Problem

Existing language model services risk leaking personal or confidential information due to plain text input and output processing, which can be accessed by servers, posing a security threat.

Method used

Implement encryption in language model inference processing by generating and using encrypted parameters and input to maintain confidentiality, ensuring secure communication between terminals and servers.

Benefits of technology

The solution ensures that personal and confidential information remains secure by encrypting language model parameters and inputs, preventing unauthorized access and leakage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026002690000001_ABST
    Figure 2026002690000001_ABST
Patent Text Reader

Abstract

To conceal input / output to / from a language model.SOLUTION: A program executed by an information processing apparatus that executes processing related to a language model causes a control unit of the information processing apparatus to execute acquiring a parameter of the language model from a first information processing apparatus, generating encryption information for encrypting inference processing in the language model, calculating first information obtained by encrypting the parameter based on the encryption information, outputting the first information to the first information processing apparatus, calculating second information obtained by encrypting an input to the language model based on the encryption information, and outputting the second information to the first information processing apparatus.SELECTED DRAWING: Figure 1-1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a program, an information processing method, an information processing device, and the like. [Background technology]

[0002] Services that use language models to generate output in response to user input are becoming increasingly popular. For example, Patent Document 1 discloses an agent program in which a character that interacts with a user can automatically reply with character utterance text that matches the character's personality. However, in processes that use plain text for input and output, such as the method disclosed in Patent Document 1, the content entered by the user and the response to the input can be referenced from the agent (language model) side, which creates the possibility that personal information, confidential information, etc. entered by the user may be leaked to the outside through the server (provider) that provides the agent. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Patent No. 7105749 Summary of the Invention [Problem to be solved by the invention]

[0004] The present invention has been made against the background of the above-mentioned technology, and its purpose is to enable an information processing device to cause a first information processing device to execute inference processing in a language model in an encrypted state. [Means for solving the problem]

[0005] According to a first aspect of the present invention, a program executed by an information processing device that performs processing related to a language model causes a control unit of the information processing device to obtain parameters of the language model from a first information processing device, generate encryption information for encrypting inference processing in the language model, calculate first information in which the parameters are encrypted based on the encryption information, output the first information to the first information processing device, calculate second information in which input to the language model is encrypted based on the encryption information, and output the second information to the first information processing device. According to a second aspect of the present invention, an information processing method executed by an information processing device that performs processing related to a language model includes obtaining parameters of the language model from a first information processing device, generating encryption information for encrypting inference processing in the language model, calculating first information in which the parameters are encrypted based on the encryption information, outputting the first information to the first information processing device, calculating second information in which input to the language model is encrypted based on the encryption information, and outputting the second information to the first information processing device. According to a third aspect of the present invention, there is provided an information processing device that executes processing related to a language model, comprising: The device includes a control unit that acquires parameters of a language model from a first information processing device, generates encryption information for encrypting inference processing in the language model, calculates first information in which the parameters are encrypted based on the encryption information, outputs the first information to the first information processing device, calculates second information in which input to the language model is encrypted based on the encryption information, and outputs the second information to the first information processing device. According to a fourth aspect of the present invention, a program executed by a server that communicates with a terminal and performs processing related to a language model causes a control unit of the server to send parameters of the language model to the terminal, receive first information from the terminal that encrypts the parameters, receive second information from the terminal that encrypts input to the language model, perform inference using the language model based on the first information and the second information, and send the inferred third information to the terminal. According to a fifth aspect of the present invention, an information processing method executed by a server communicating with a terminal and performing processing related to a language model includes transmitting parameters of the language model to the terminal, receiving first information from the terminal that encrypts the parameters, receiving second information from the terminal that encrypts input to the language model, performing inference using the language model based on the first information and the second information, and transmitting the inferred third information to the terminal. According to a sixth aspect of the present invention, a server that communicates with a terminal and performs processing related to a language model includes a control unit that transmits language model parameters to the terminal, receives first information that encrypts the parameters from the terminal, receives second information that encrypts input to the language model from the terminal, performs inference using the language model based on the first information and the second information, and transmits the inferred third information to the terminal. According to a seventh aspect of the present invention, a program executed by a server that communicates with a terminal and performs processing related to a language model causes a control unit of the server to perform the following operations: execute processing to conceal parameters of the language model; transmit the concealed parameters to the terminal; receive first information from the terminal that is the encrypted concealed parameters; receive second information from the terminal that is the encrypted input to the language model; perform inference using the language model based on the first information and the second information; and transmit the inferred third information to the terminal. According to an eighth aspect of the present invention, an information processing method executed by a server communicating with a terminal and executing processing related to a language model includes executing processing to conceal parameters of the language model, transmitting the concealed parameters to the terminal, receiving first information from the terminal that is the encrypted concealed parameters, receiving second information from the terminal that is the encrypted input to the language model, performing inference using the language model based on the first information and the second information, and transmitting the inferred third information to the terminal. According to a ninth aspect of the present invention, a server that communicates with a terminal and performs processing related to a language model includes a control unit that performs processing to conceal parameters of the language model, transmits the concealed parameters to the terminal, receives first information from the terminal that is the encrypted concealed parameters, receives second information from the terminal that is the encrypted input to the language model, performs inference using the language model based on the first information and the second information, and transmits the inferred third information to the terminal. [Brief explanation of the drawings]

[0006] [Figure 1-1] FIG. 1 is a diagram showing an example of a system configuration of a communication system according to a first embodiment. [Figure 1-2] FIG. 3 is a diagram showing an example of functions realized by a control unit of the server according to the first embodiment. [Figure 1-3] FIG. 3 is a diagram showing an example of information stored in a storage unit of the server according to the first embodiment. [Figure 1-4] FIG. 3 is a diagram showing an example of account registration data according to the first embodiment. [Figure 1-5] FIG. 2 is a diagram showing an example of functions realized by a control unit of the terminal according to the first embodiment. [Figure 1-6] FIG. 3 is a diagram showing an example of information stored in a storage unit of the terminal according to the first embodiment. [Figure 1-7] FIG. 2 is a diagram showing an example of the concept of plaintext inference processing according to the first embodiment. [Figure 1-8] FIG. 2 is a diagram showing an example of the concept of encryption inference processing according to the first embodiment. [Figure 1-9] FIG. 2 is a diagram showing an example of the concept of encryption inference processing according to the first embodiment. [Figure 1-10] FIG. 3 is a diagram showing an example of a screen displayed on a display unit of the terminal according to the first embodiment. [Figure 1-11] 4 is a flowchart showing an example of the flow of processing executed by each device according to the first embodiment. [Figure 1-12] FIG. 2 is a diagram showing an example of token encryption according to the first embodiment. [Figure 1-13] 10 is a flowchart showing an example of the flow of processing executed by each device according to a first modified example. [Figure 2-1] FIG. 10 is a diagram showing an example of the concept of language model parameter confidential encryption inference processing according to the second embodiment. [Figure 2-2] FIG. 10 is a diagram showing an example of language model concealment processing according to the second embodiment. [Figure 2-3] 10 is a flowchart showing an example of the flow of processing executed by each device according to the second embodiment. [Figure 3-1] FIG. 11 is a diagram showing an example of a screen displayed on a display unit of a terminal according to a third embodiment. [Figure 3-2] FIG. 11 is a diagram showing an example of a language model selection process according to the third embodiment. [Figure 3-3] FIG. 11 is a diagram showing an example of an original language model providing process according to a third modified example. DETAILED DESCRIPTION OF THE INVENTION

[0007] <Compliance with legal matters> It should be noted that the disclosures set forth herein are subject to compliance with the laws of the country of implementation, such as communications privacy, as required for the implementation of the disclosures.

[0008] <Embodiment> In this specification, for the sake of clarity, there are places where the words "for example" or "for example" are used, but please note that not only those places but also the entire embodiment described below are not limited to the contents of those words.

[0009] An embodiment for implementing a program etc. according to the present disclosure will be described with reference to the drawings.

[0010] The production of a terminal of the claimed invention (terminal of the claimed invention) may include, for example, the concept that a state is created in which the functions of the claimed invention can be realized (a state in which the claimed invention can be executed) on a terminal owned (possessed) by a user by receiving (or receiving and storing) a program (for example, an application program) described in this specification.

[0011] Furthermore, the production of the system of the invention claimed in the present application (the system of the invention of the present application) may include, for example, the concept that a state in which the functions of the invention of the system claimed in the present application can be realized (a state in which the invention claimed in the present application can be executed) is created by receiving a program described in this specification (for example, an application program) transmitted from a server included in the system of the present application at a terminal included in the system of the present application (or by storing the received program in the terminal).

[0012] In this specification, a system may be, for example, configured to include a plurality of devices. The plurality of devices may be a combination of devices of the same type, a combination of devices of different types, or a combination of devices of the same type and devices of different types. A system can also be thought of as, for example, a plurality of devices working together to perform some kind of processing.

[0013] Furthermore, a system relating to a client (client device) and a server can be considered to be, for example, at least one of the following: (1) Terminals and servers (2) Server (3) Terminal

[0014] (1) is, for example, a system including at least one terminal and at least one server. One example of this is a client-server system.

[0015] The server is configured by the following devices, for example, and may be a single device or a combination of multiple devices.

[0016] Specifically, a server is configured to have, for example, at least one processor (for example, CPU: Central Processing Unit, GPU: Graphics Processing Unit, APU: Accelerated Processing Unit, DSP: Digital Signal Processor (for example, ASIC: Application Specific Integrated Circuit, FPGA: Field Programmable Gate Array), etc.), computer device (processor + memory), control device, arithmetic device, processing device, etc., and may be configured to have multiple of the same type of device (for example, CPU + CPU, homogeneous multi-core processor, etc.), or multiple of different types of device (for example, CPU + DSP, heterogeneous multi-core processor, etc.), or may be a combination of multiple devices (for example, processor + computer device, processor + arithmetic device, multiple devices made heterogeneous, etc.). The processor may be a virtual processor.

[0017] Furthermore, when a server performs some processing, if the server is configured with a single device, the processing described in the embodiments is performed by the single device. Furthermore, if the server is configured with multiple devices, one device may perform some of the processing, and the other device may perform other processing. For example, if the server is configured with a processor and an arithmetic device, the processor may perform a first processing, and the arithmetic device may perform a second processing. Furthermore, when a plurality of devices are used, the devices may be located at positions physically separated from one another.

[0018] Furthermore, the server functions may be provided in the form of PaaS, IaaS, or SaaS in cloud computing, for example.

[0019] The control unit of the system can be at least one of the control unit of the terminal and the control unit of the server. That is, for example, the control unit of the system can be any of (1A) only the control unit of the terminal, (1B) only the control unit of the server, or (1C) both the control unit of the terminal and the control unit of the server.

[0020] Furthermore, the control and processing (hereinafter collectively referred to as "control, etc.") performed by the control unit of the system may be performed by (1A) only the control unit of the terminal, (1B) only the control unit of the server, or (1C) both the control unit of the terminal and the control unit of the server. In addition, in (1C), for example, some of the controls performed by the control unit of the system may be performed by the control unit of the terminal, and the remaining controls may be performed by the control unit of the server. In this case, the allocation (allocation) of the controls may be equal or may be allocated in different proportions.

[0021] Furthermore, when referring to the communication unit of a server, if the server is configured with a single device, it may refer to the communication unit itself that the single device has, or if the server is configured with multiple devices, it may be configured to include each communication unit that each device has. For example, if a server comprises a first device and a second device, and the first device has a first communication unit and the second device has a second communication unit, the communication unit of the server may be considered to include the first communication unit and the second communication unit.

[0022] (2) can be, for example, a system consisting of multiple servers (hereinafter referred to as a "server system"). In this case, the configuration of each server can be similarly applied to the configuration described above.

[0023] The control etc. performed by the server system may be performed by only one of the multiple servers (2A), by only the other servers (2B), or by both the one server and the other servers (2C). In addition, in (2C), for example, one server may perform some of the control, etc., performed by the server system, and another server may perform the remaining control, etc. In this case, the allocation (allocation) of the control, etc. may be equal or may be allocated in different proportions.

[0024] (3) can be, for example, a system consisting of multiple terminals. This system can be, for example, the following system. A system that gives server functions to terminals (distributed system). This can be realized, for example, using blockchain technology. A system in which terminals communicate wirelessly with each other. This can be achieved, for example, by using short-range wireless communication technology such as Bluetooth (registered trademark) to communicate in a P2P (peer-to-peer) format.

[0025] The above is not limited to the control unit, but also applies to each functional unit such as an input / output unit, a communication unit, a storage unit, and a clock unit that may be components of the system.

[0026] In the following embodiment, a system including a terminal and a server (a client-server system, for example) will be described as an example. It is also possible to apply the server system described in (2) above as the server.

[0027] Furthermore, instead of a system including a terminal and a server, it is also possible to apply a system that does not include a server, such as the system (3) above. In this case, the embodiment can be configured based on the above-mentioned blockchain technology, etc. Specifically, for example, data stored and managed in a server described in the following embodiment is stored on the blockchain. Then, a terminal generates a transaction to the blockchain, and when the transaction is approved on the blockchain, the data stored on the blockchain is updated.

[0028] It should be noted that even when the term "terminal" is used, this is not limited to the meaning of a terminal as a client device in a client server. That is, a terminal may include the concept of a device that is not in a client-server context. Furthermore, when a part or all of the inventions described in this specification are executed by a program installed in a terminal, the program may be a program that has been installed in the terminal beforehand at the time of shipping the terminal (for example, a program pre-installed by the terminal manufacturer), or a program that is additionally installed after shipping the terminal. In other words, it also includes the case where a program included in an application or the like that is installed by the terminal seller or end user via a predetermined recording medium or a wired connection to a server or a connection via the Internet executes the inventions described in this specification.

[0029] Furthermore, in this specification, the expression "through a communication I / F" is used as appropriate. This may, for example, indicate that a device transmits and receives various information and data via a communication I / F (via a communication unit) based on the control of a control unit (such as a processor).

[0030] Furthermore, in this specification, when the terms "related to" or "related to" are used, for example, "B related to A" or "B related to A" may mean "B" that has some kind of relationship with "A." Specific examples of this will be described later.

[0031] Furthermore, in this specification, when a device performs processing on two or more objects, such as "sending A and B" or "receiving A and B," this may include performing "A" and "B" at the same time (hereinafter referred to as "simultaneous"), and performing "A" and "B" at different times (hereinafter referred to as "non-simultaneous"). For example, when referring to transmitting first information and second information, this may include both the concepts of transmitting the first information and the second information at the same time, and transmitting the first information and the second information at different times. In addition, taking into account the lag (time lag), "simultaneous" may include "almost simultaneously."

[0032] Note that even though "A" and "B" are performed at different times, this only needs to be done with "A" and "B" as the processing targets, and the purposes do not necessarily have to be the same. For example, when the first information and the second information are transmitted as described above, it is sufficient to transmit the first information and the second information, and this may include cases where the first information and the second information are transmitted for the same purpose, as well as cases where the first information and the second information are transmitted for different purposes.

[0033] In the following embodiments, a messaging service is exemplified as an example of a service that allows users to chat (hereinafter referred to as a "chat service"). Furthermore, an application that realizes the chat service is referred to as a "chat application," and an application that realizes the messaging service is referred to as a "messaging application." A chat application may, for example, allow users to chat in chat rooms. In the following embodiments, the name of the messaging application may be shown as "Messaging App" on the screen images.

[0034] Note that messaging services (MS) (including instant messaging services (IMS)) can also be considered one form of social networking services (SNS). Therefore, messaging services and social networking services may or may not be distinguished. In other words, messaging services may be included in social networking services.

[0035] In the following embodiments, an example of a messaging service is an IMS (Instant Messaging Service) that transmits and receives simple messages between a plurality of devices (for example, terminals) via a server. An instant messaging application may, for example, allow users to talk in talk rooms.

[0036] A chat room (for example, a talk room) can be a UI (User Interface) or GUI (Graphical User Interface) that allows each user to view content transmitted and received between the terminals of multiple users.

[0037] In a messaging service, for example, a user can register any account as a "friend" and exchange messages via a chat room.

[0038] Note that "friend" may refer to a relationship between a first user and a second user when, for example, the first user's account and the second user's account in a messaging application are unilaterally or bilaterally associated. For example, if a first user's account and a second user's account are mutually associated, the first user and the second user may be said to be "friends." Also, for example, if a first user's account is associated with a second user's account, the first user and the second user may be said to be "friends" even if the second user's account is not associated with the first user's account.

[0039] In addition, talk rooms can include one-on-one user talk rooms (hereinafter referred to as "one-on-one talk rooms"), group talk rooms including multiple users (hereinafter referred to as "group talk rooms"), and talk rooms with OA businesses (for example, businesses affiliated with messaging service providers) (hereinafter referred to as "OA talk rooms"), etc.

[0040] Furthermore, a messaging application account that is an account of a business operator and not a general user may be referred to as an "OA (Official Account)," and the user of this official account may be referred to as an "official user." This may also be referred to as an "official account user" or an "official account business operator," etc. In contrast, a messaging application account that is owned by a user who is not an OA provider is called a "general account," and a user of a general account is called a "general user." This may also be called a "general account user," etc. In other words, messaging application accounts may include general accounts and official accounts.

[0041] Furthermore, for example, an OA business may also be able to use a terminal similar to that of a user with a general account to send and receive messages to and from other devices via the server.

[0042] Furthermore, a message (message information) may be, for example, information that defines the sender and destination used in a messaging service, and may be information that is composed of identification information (message ID) for identifying the message and message content. Furthermore, the message content may refer to the contents of the message excluding the message ID, for example. The message content may be one or more pieces of content.

[0043] Moreover, information set as identification information for identifying a message is called a "message ID." It can also be considered that message content included in messages with the same message ID is identified by this message ID. Therefore, identification information for identifying a message can also be considered to be essentially synonymous with identification information for identifying message content. Alternatively, individual identification information (message content ID) may be set for each message content, but this is not required.

[0044] The content may include, for example, text content in text format, image content in image format (including at least one of still images and moving images), and sound content in sound format (including voice). In addition, it may also include operation content such as buttons and icons for user operations, and link content such as URIs (including URLs).

[0045] The text may include, for example, at least one of national characters represented by character codes, extended characters, machine-dependent characters, numbers, symbols, figures, and codes. The text does not have to include at least one of the above characters, extended characters, machine-dependent characters, numbers, symbols, figures, and signs, and may include other text.

[0046] The image may include at least one of various types of image information such as an icon, a button, a stamp, a pictogram, and a banner image.

[0047] Unlike the above definition, it is possible to define that a superordinate concept of a message is content, or that content and message are synonymous, but it is not necessary to define them in this way.

[0048] <First Example> In the first embodiment, for example, a terminal that uses a server on which a language model runs and provides a service using the language model acquires information about the language model from the server and encrypts the language model. The server performs inference using the encrypted language model, making it possible to keep input and output sentences transmitted and received between the terminal and the server confidential. The contents described in the first embodiment can be similarly applied to any of the other embodiments and other modified examples.

[0049] In the following embodiments, a language model provider service is exemplified as an example of a service that enables a terminal user to use a language model. By using the language model provider service (LM Provider Service), the terminal user may be able to use various services, such as a dialogue service or a sentence generation service. An application for realizing the language model provider service is called a "language model application." In a language model application, for example, a user inputs an input sentence (which may also be called a question sentence or a directive sentence), and an output sentence (which may also be called a response sentence or a generated sentence) for the input sentence can be obtained. In the following description, the name of the language model application will be referred to as "LM App" as appropriate.

[0050] Note that, as a form for realizing the language model provider service, for example, any of the following forms may be applied. (A1) A form in which the language model provider service function is provided as one function of a messaging application (A2) A form in which a messaging service function is provided as one function of a language model application that provides a language model provider service (B1) A form that configures an application (integrated application) having a messaging service function and a language model provider service function (C1) A form in which a language model application is configured as a separate application from a messaging application (C2) A form in which a messaging application is configured as a separate application from a language model application (D) A language model application configured as a standalone application

[0051] In the forms (A1), (A2), and (B1), for example, the messaging service provider may be the same provider as the language model provider service. In this case, one method is to use a common account for the user's account in the messaging application and the user's account in the language model application. Alternatively, in this case, the user's account in the messaging application and the user's account in the language model application can be automatically associated (linked).

[0052] In the forms (C1) to (C2), for example, the messaging service provider may be a different provider from the language model provider service provider, or may be the same provider. In addition, in the forms (C1) to (C2), a process of associating a user's account in the messaging application with a user's account in the language model application (a linking process) can be performed.

[0053] In the following, as an example, a description will be given of the case where the server 10 that provides the language model provider service is operated and managed by a language model provider service company in accordance with the form (D).

[0054] In the following description, the user of terminal 20A communicating with server 10 will be referred to as "user AA," the user of terminal 20B as "user BB," the user of terminal 20C as "user CC," . . . Furthermore, language model provider service providers may be referred to as "language model providers."

[0055] In the following, information about a language model running on a server (for example, the structure of the language model, the weight of a trained language model, etc.) will be referred to as a "language model parameter."

[0056] In the first embodiment, the language model running on the server may be, for example, a language model (such as "DistilBERT" or "Llama") that is publicly available as open source software (OSS). In other words, the language model provider service operator may make the language model parameters publicly available to external users, such as terminal users (there is no need to keep them secret).

[0057] <System configuration> 1-1 is a diagram illustrating an example of a system configuration of a communication system 1 according to this embodiment. In the communication system 1, for example, a server 10 is connected to one or more terminals 20 (terminal 20A, terminal 20B, terminal 20C, ...) via a network 30.

[0058] The server 10 has a function of providing, for example, a language model provider service to a terminal 20 or the like owned by a user via a network 30 . The server 10 can also be expressed as a music distribution server, etc. In this embodiment, the user of the server 10 is assumed to be a company that provides a language model provider service (a business operator of the language model provider service), for example. Note that the number of servers 10 and the number of terminals 20 connected to the network 30 are not limited to those described above. In this embodiment, the "language model provider service" is a service provided by a business operator (server 10) such as a company that provides language model provider services, and may be provided to a user (user terminal 20), for example.

[0059] The terminal 20 (terminal 20A, terminal 20B, terminal 20C, etc.) may be any information processing terminal capable of implementing the functions described in each embodiment. Examples of the terminal 20 include a smartphone, a mobile phone (feature phone), a computer (including, but not limited to, a desktop, laptop, tablet, etc.), a media computer platform (including, but not limited to, a cable or satellite set-top box, digital video recorder, etc.), a handheld computer device (including, but not limited to, a PDA (personal digital assistant), email client, etc.), a wearable device (glasses-type device, watch-type device, etc.), a VR (Virtual Reality) terminal, a smart speaker (a device for voice recognition), or other types of computers or communication platforms. The terminal 20 may also be referred to as an information processing terminal.

[0060] For example, the configurations of terminal 20A, terminal 20B, and terminal 20C can be the same. Furthermore, as necessary, the terminal used by user X may be expressed as terminal 20X, and user information in a predetermined service associated with user X or terminal 20X may or may not be expressed as user information X. The user information is information of a user associated with an account used by the user in a predetermined service. The user information includes, but is not limited to, information associated with a user, such as the user's name, an icon image of the user, the user's age, the user's gender, the user's address, the user's hobbies and interests, and a user identifier, which is input by the user or assigned by the predetermined service, and may be any one of these, or a combination thereof, or may not be the same.

[0061] The network 30 serves to connect the devices that make up the communication system 1. In other words, the network 30 refers to a communication network that provides connection paths so that the above-mentioned various devices can be connected and then transmit and receive data.

[0062] One or more portions of network 30 may or may not be a wired or wireless network. Network 30 may include, by way of example, an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a wireless WAN (WWAN), a metropolitan area network (MAN), a portion of the Internet, a portion of the Public Switched Telephone Network (PSTN), a cellular network, integrated service digital networks (ISDN), wireless LAN, long term evolution (LTE), code division multiple access (CDMA), Bluetooth, satellite communications, etc., or a combination of two or more thereof. Network 30 may include one or more networks 30.

[0063] The server 10 (which is not limited to an example of a server, information processing device, or information management device) has a function of providing a predetermined service (in this embodiment, a language model provider service) to the terminal 20, etc. The server 10 may be any information processing device that can realize the functions described in each embodiment. Examples of the server 10 include a server device, a computer (e.g., a desktop, laptop, tablet, etc.), a media computer platform (e.g., a cable or satellite set-top box, a digital video recorder), a handheld computer device (e.g., a PDA, an email client, etc.), or other types of computers or communication platforms. The server 10 may also be referred to as an information processing device. When there is no need to distinguish between the server 10 and the terminal 20, the server 10 and the terminal 20 may or may not each be referred to as an information processing device.

[0064] [Hardware (HW) configuration of each device] The hardware configuration of each device included in the communication system 1 will be described.

[0065] (1) Device hardware configuration FIG. 1-1 shows an example of the hardware configuration of the terminal 20. The terminal 20 includes, for example, a control unit 21 (CPU: central processing unit), a storage unit 28, a communication I / F 22 (interface), an input / output unit 23, a clock unit 29A, and a position calculation information detection unit 29B. The HW components of the terminal 20 are connected to each other, for example, via a bus B. It is not essential that the HW configuration of the terminal 20 includes all of the components. For example, the terminal 20 may or may not be configured such that individual components or multiple components are detachable.

[0066] The communication I / F 22 transmits and receives various data via the network 30. The communication may be performed either wired or wirelessly, and any communication protocol may be used as long as mutual communication is possible. The communication I / F 22 has a function of communicating with various devices such as the server 10 via the network 30. The communication I / F 22 transmits various data to various devices such as the server 10 in accordance with instructions from the control unit 21. The communication I / F 22 also receives various data transmitted from various devices such as the server 10 and transmits it to the control unit 21. The communication I / F 22 may also be simply referred to as a communication unit. When the communication I / F 22 is configured as a physically structured circuit, it may also be referred to as a communication circuit.

[0067] The input / output unit 23 includes a device for inputting various operations to the terminal 20, a device for outputting processing results processed by the terminal 20, etc. The input / output unit 23 may be an integrated input unit and an output unit, or may be separate input unit and output unit, or may not be so.

[0068] The input unit is realized by any one or a combination of all types of devices that can accept input from a user and transmit information related to the input to the control unit 21. Examples of the input unit include hardware keys such as a touch panel, a touch display, and a keyboard, a pointing device such as a mouse, a camera (for inputting operations via moving images), and a microphone (for inputting operations by voice).

[0069] The output unit is realized by any one or a combination of all types of devices that can output the processing results processed by the control unit 21. Examples of the output unit include a touch panel, a touch display, a speaker (audio output), a lens (for example, 3D (three dimensions) output or hologram output), a printer, etc.

[0070] Although this is merely an example, the input / output unit 23 includes a display unit 24, a sound input unit 25, a sound output unit 26, and an imaging unit 27, for example.

[0071] The display unit 24 is realized by any one of all types of devices or a combination thereof that can display according to the display data written to the frame buffer. Examples of the display unit 24 include a touch panel, a touch display, a monitor (e.g., a liquid crystal display or an organic electroluminescence display (OLED)), a head mounted display (HDM), projection mapping, a hologram, and a device that can display images, text information, etc. in air (which may or may not be a vacuum). Note that these display units 24 may or may not be capable of displaying display data in 3D.

[0072] The sound input unit 25 is used to input sound data (including voice data; the same applies below.) The sound input unit 25 includes a microphone and the like. The sound output unit 26 is used to output sound data and includes a speaker and the like. The imaging unit 27 is used to acquire image data (including still image data and moving image data; the same applies below.) The imaging unit 27 includes a camera and the like.

[0073] When the input / output unit 23 is a touch panel, the input / output unit 23 and the display unit 24 may be disposed opposite each other and have approximately the same size and shape.

[0074] The clock unit 29A is a built-in clock of the terminal 20, and outputs time information (timekeeping information). The clock unit 29A is configured to include, for example, a clock that uses a crystal oscillator. The clock unit 29A can also be expressed as, for example, a timekeeping unit or a time information detection unit.

[0075] The clock unit 29A may or may not have a clock that conforms to the NITZ (Network Identity and Time Zone) standard or the like.

[0076] The position calculation information detection unit 29B is a functional unit that detects (measures) information (hereinafter referred to as "position calculation information") necessary for the control unit 21 to calculate (measure) the position of its own terminal 20. The position calculation information detection unit 29B can also be expressed as a position calculation sensor unit, for example.

[0077] The position calculation information detection unit 29B includes, for example, a satellite positioning sensor (satellite positioning unit) which is a sensor or unit for calculating the position of the terminal 20 using a satellite positioning system such as GPS (Global Positioning System), an inertial measurement sensor (inertial measurement unit (IMU (Inertial Measurement Unit))) which is a sensor or unit for calculating the position of the terminal 20 using an inertial navigation system, a UWB positioning sensor (UWB positioning unit) which is a sensor or unit for calculating the position of the terminal 20 using UWB (Ultra Wide Band), and the like.

[0078] The satellite positioning unit includes, for example, an RF receiving circuit that converts RF (Radio Frequency) signals, including positioning satellite signals transmitted from positioning satellites and received by an antenna (not shown), into digital signals, and a baseband processing circuit that performs correlation calculation processing on the digital signals output from the RF receiving circuit to capture the positioning satellite signals, and outputs information such as satellite orbit data and time data extracted from the positioning satellite signals as information for position calculation.

[0079] The inertial measurement unit has an inertial sensor that is a sensor that detects information necessary for calculating the position of the terminal 20 by inertial navigation calculation. The inertial sensor includes, for example, a three-axis acceleration sensor and a three-axis gyro sensor, and outputs the acceleration detected by the acceleration sensor and the angular velocity detected by the gyro sensor as information for position calculation.

[0080] The UWB positioning unit includes, for example, an ultra-wideband RF (Radio Frequency) receiving circuit that converts an ultra-wideband RF signal, including an ultra-wideband pulse signal for positioning transmitted from a positioning beacon and received by an antenna not shown, into a digital signal, and a relative position calculation processing circuit that calculates the relative position between the terminal 20 and the positioning beacon based on the digital signal output from the ultra-wideband RF receiving circuit. For example, the UWB positioning unit may or may not cause the terminal 20 to function as a positioning beacon by transmitting an ultra-wideband RF signal including an ultra-wideband pulse signal for positioning from an antenna not shown.

[0081] For example, control unit 21 calculates the position of its own terminal 20 at regular intervals or specific intervals based on the position calculation information detected by position calculation information detection unit 29B. The terminal position is referred to as the "terminal position," and the calculated terminal position is referred to as the "calculated terminal position." Control unit 21 may, but need not, associate the calculated terminal position with the date and time when the calculated terminal position was calculated and store the calculated terminal position in storage unit 28 as calculated terminal position history data.

[0082] The control unit 21 has a circuit physically structured to execute the functions realized by the code or instructions contained in the program, and is realized by, for example, a data processing device built into hardware. Therefore, the control unit 21 may or may not be expressed as a control circuit.

[0083] The control unit 21 includes, for example, a central processing unit (CPU), a microprocessor, a processor core, a multiprocessor, an application-specific integrated circuit (ASIC), and a field programmable gate array (FPGA).

[0084] The storage unit 28 has a function of storing various programs and various data required for the operation of the terminal 20. The storage unit 28 includes, for example, various storage media such as a hard disk drive (HDD), a solid state drive (SSD), a flash memory, a random access memory (RAM), and a read only memory (ROM). Furthermore, the storage unit 28 may or may not be expressed as a memory.

[0085] Terminal 20 stores program P in storage unit 28, and by executing this program P, control unit 21 executes the processing of each unit included in control unit 21. In other words, program P stored in storage unit 28 causes terminal 20 to realize each function executed by control unit 21. Furthermore, this program P may or may not be expressed as a program module.

[0086] (2) Server hardware configuration FIG. 1-1 shows an example of the hardware configuration of the server 10. In FIG. The server 10 includes, for example, a control unit 11 (CPU), a memory unit 15, a communication I / F 14 (interface), an input / output unit 12, a display unit 13, and a clock unit 19. The components of the HW of the server 10 are connected to each other, for example, via a bus B. Note that the HW of the server 10 does not necessarily have to include all components as the configuration of the HW of the server 10. For example, the HW of the server 10 may or may not be configured so that individual components or multiple components can be removed.

[0087] The control unit 11 has circuits that are physically structured to execute the functions realized by the codes or instructions contained in the program, and is realized, for example, by a data processing device built into hardware.

[0088] The control unit 11 is typically a central processing unit (CPU), but may also be a microprocessor, a processor core, a multiprocessor, an ASIC, or an FPGA. In the present disclosure, the control unit 11 is not limited to these.

[0089] The storage unit 15 has a function of storing various programs and various data required for the operation of the server 10. The storage unit 15 is realized by various storage media such as an HDD, an SSD, and a flash memory. However, in the present disclosure, the storage unit 15 is not limited to these. Furthermore, the storage unit 15 may or may not be expressed as a memory.

[0090] The communication I / F 14 transmits and receives various data via the network 30. The communication may be performed either wired or wirelessly, and any communication protocol may be used as long as mutual communication is possible. The communication I / F 14 has a function of communicating with various devices such as the terminal 20 via the network 30. The communication I / F 14 transmits various data to various devices such as the terminal 20 in accordance with instructions from the control unit 11. The communication I / F 14 also receives various data transmitted from various devices such as the terminal 20 and transmits it to the control unit 11. The communication I / F 14 may also be simply referred to as a communication unit. When the communication I / F 14 is configured as a physically structured circuit, it may also be referred to as a communication circuit.

[0091] The input / output unit 12 includes a device for inputting various operations to the server 10, a device for outputting processing results processed by the server 10, etc. The input / output unit 12 may be an integrated input unit and an output unit, or may be separate input unit and output unit, or may not be the same.

[0092] The input unit is realized by any one of or a combination of all types of devices that can accept input from a user and transmit information related to the input to the control unit 11. The input unit is typically realized by hardware keys such as a keyboard or a pointing device such as a mouse. Note that the input unit may or may not include, for example, a touch panel, a camera (for operation input via moving images), or a microphone (for operation input by voice).

[0093] The output unit is realized by any one or a combination of all kinds of devices that can output the processing results processed by the control unit 11. Examples of the output unit include a touch panel, a touch display, a speaker (sound output), a lens (for example, 3D (three dimensions) output or hologram output), a printer, etc.

[0094] By way of example only, the input / output unit 12 includes a display unit 13, for example.

[0095] The display unit 13 is realized by a display or the like. The display is typically realized by a monitor (for example, a liquid crystal display or an OLED (organic electroluminescence display)). The display may or may not be a head-mounted display (HDM) or the like. These displays may or may not be capable of displaying display data in 3D. In the present disclosure, the display is not limited to these.

[0096] The clock unit 19 is a built-in clock of the server 10, and outputs time information (timekeeping information). The clock unit 19 is configured to include, for example, an RTC (Real Time Clock) as a hardware clock, a system clock, etc. The clock unit 19 can also be expressed as, for example, a timekeeping unit or a time information detection unit.

[0097] (3) Other Server 10 stores program P in storage unit 15, and by executing this program P, control unit 11 executes the processes of each unit included in control unit 11. In other words, program P stored in storage unit 15 causes server 10 to realize each function executed by control unit 11. This program P may or may not be expressed as a program module. The same applies to other devices.

[0098] In each embodiment of the present disclosure, the description will be given assuming that the CPU of the terminal 20 and / or the server 10 executes the program P to realize the present invention. The same applies to other devices.

[0099] The control unit 21 of the terminal 20 and / or the control unit 11 of the server 10 may or may not realize each process not only by a CPU having a control circuit but also by a logic circuit (hardware) formed in an integrated circuit (IC (Integrated Circuit) chip, LSI (Large Scale Integration)), or a dedicated circuit. These circuits may be realized by one or more integrated circuits, and multiple processes shown in each embodiment may or may not be realized by a single integrated circuit. LSIs may also be called VLSIs, super LSIs, ultra LSIs, etc. depending on the degree of integration. Therefore, the control unit 21 may or may not be expressed as a control circuit. The same applies to other devices.

[0100] Furthermore, the program P (e.g., a software program, a computer program, or a program module) of each embodiment of the present disclosure may or may not be provided in a state stored in a computer-readable storage medium. The storage medium can store the program P in a "non-transitory tangible medium." The program P may or may not be intended to realize part of the functions of each embodiment of the present disclosure. Furthermore, the program P may or may not be a so-called differential file (differential program) that can realize the functions of each embodiment of the present disclosure in combination with a program P already recorded on a storage medium.

[0101] The storage medium may include one or more semiconductor-based or other integrated circuits (ICs) (such as, for example, field programmable gate arrays (FPGAs) or application-specific ICs (ASICs)), hard disk drives (HDDs), hybrid hard drives (HHDs), optical disks, optical disk drives (ODDs), magneto-optical disks, magneto-optical drives, floppy diskettes, floppy disk drives (FDDs), magnetic tapes, solid-state drives (SSDs), RAM drives, secure digital cards, or drives, any other suitable storage media, or any suitable combination of two or more of these. The storage medium may be volatile, nonvolatile, or a combination of volatile and nonvolatile, where appropriate. The storage medium is not limited to these examples and may be any device or medium capable of storing the program P. Furthermore, the storage medium may or may not be referred to as memory.

[0102] The server 10 and / or the terminal 20 can implement the functions of the multiple functional units shown in each embodiment by reading out the program P stored in the storage medium and executing the read out program P. The same applies to other devices.

[0103] Furthermore, the program P of the present disclosure may or may not be provided to the server 10 and / or the terminal 20 via any transmission medium capable of transmitting a program (such as a communication network or broadcast waves). The server 10 and / or the terminal 20 executes the program P downloaded via the Internet or the like, for example, to realize the functions of the multiple functional units shown in each embodiment. The same applies to other devices.

[0104] In addition, each embodiment of the present disclosure may also be realized in the form of a data signal in which the program P is embodied by electronic transmission. At least a part of the processing in the server 10 and / or the terminal 20 may or may not be realized by cloud computing configured by one or more computers. At least a part or all of the processing in the terminal 20 may or may not be performed by the server 10. In this case, at least a part or all of the processing of each functional unit of the control unit 21 of the terminal 20 may or may not be performed by the server 10. At least a part or all of the processing in the server 10 may or may not be performed by the terminal 20. In this case, at least a part or all of the processing of each functional unit of the control unit 11 of the server 10 may or may not be performed by the terminal 20. Unless explicitly stated otherwise, the judgment configuration in the embodiments of the present disclosure is not essential, and a predetermined process may or may not be performed when the judgment condition is met, or when the judgment condition is not met.

[0105] The program of the present disclosure is implemented using, for example, a scripting language such as ActionScript or JavaScript (registered trademark), a compiler language such as Objective-C or Java (registered trademark), or a markup language such as HTML Living Standard.

[0106] [Functional configuration of each device] (1) Server functional configuration FIG. 1-2 is a diagram showing an example of functions realized by the control unit 11 of the server 10 in this embodiment. The control unit 11 includes, for example, an application management processing unit 111 and a language model unit 113 as functional units.

[0107] The application management processing unit 111 has a function of executing application management processing in accordance with an application management processing program 151 stored in the storage unit 15, for example.

[0108] The language model unit 113 is implemented by a language model such as BERT or Llama, and has a function of generating an output sentence for an input sentence based on language model parameter data 155.

[0109] FIG. 1-3 is a diagram showing an example of information stored in the storage unit 15 of the server 10 in this embodiment. The storage unit 15 stores, for example, an application management processing program 151 executed as application management processing, account registration data 153, and language model parameter data 155.

[0110] The account registration data 153 is registration data relating to the account of an application (in this embodiment, a language model application), and an example of the data configuration is shown in FIG. 1-4. The account registration data 153 stores, for example, a user name, an application ID, and other registration information in association with each other.

[0111] The user name is the name of the account of the terminal 20 that uses this application, and for example, the name that the user of the terminal 20 registers when using the application is stored.

[0112] The application ID is information used to identify an application account, or the account itself. This application ID is preferably a value that is unique for each account, and for example, a unique value (proper value) is set and stored by the server 10 for each account. The application ID is information associated with the terminal 20 or the user of the terminal 20, and is an example of information about the terminal or information about the user of the terminal.

[0113] Other registration information may include, for example, various types of information such as identification information for identifying terminal 20, the telephone number of terminal 20 (terminal telephone number), email address (terminal email address), and authentication information such as passwords (login password, authentication password, etc.) used for various authentications in applications.

[0114] The identification information for identifying the terminal 20 may be, for example, a terminal ID (for example, an IMEI (International Mobile Equipment Identity)).

[0115] For example, the other registration information may be stored in association with user information.

[0116] Note that the application ID may or may not be replaced with a "user ID." Furthermore, if the application allows only one account to be registered per terminal 20, then for example, "identification information for identifying the terminal 20 = identification information for identifying the user of the terminal 20 = application ID."

[0117] Also, for example, it may or may not be possible to assign multiple terminal IDs to one application ID. In this case, it may or may not be possible to simultaneously launch an application on multiple terminals 20 using one application ID as an identification (login) target.

[0118] Furthermore, instead of various IDs such as application IDs, it is also possible to apply a method of managing accounts using information such as terminal phone numbers. In this case, instead of storing information on IDs such as application IDs in account registration data 153, information on terminal telephone numbers and the like can be stored in account registration data 153. It is also possible to have one-to-one correspondence between information on IDs such as application IDs and information on terminal telephone numbers and the like, without replacing information on IDs such as application IDs with information on terminal telephone numbers and the like, but this is not required.

[0119] In the following embodiment, for the sake of simplicity, it is assumed that one account is registered for one terminal 20. Furthermore, in this case, as described above, "identification information for identifying terminal 20 = identification information for identifying the user of terminal 20 = application ID," so the term "user of the account" used in the following explanation may or may not be substantially synonymous with "terminal of the account."

[0120] For example, if a language model application does not require user registration for use, there may be no account registration data 153. Also, for example, the application ID may be set and stored by the server 10 as a unique value for each session for each use of the language model application (for example, for each session).

[0121] The language model parameter data 155 is data that defines, for example, the structure and connection weights of a language model used in the language model provider service. For example, the language model parameter data 155 may store the following data: Model Architecture: Information about the model structure, layer layout, and the type of each layer. Connection weights or parameters: The weights between each node that are optimized through the learning process. Furthermore, the language model parameter data 155 may store the following data: Pre-trained Model: A model that has already been trained on training data and has optimized weights.

[0122] (2) Functional configuration of the terminal FIG. 1-5 is a diagram showing an example of functions realized by the control unit 21 of the terminal 20 in this embodiment. The control unit 21 includes, as functional units, an application processing unit 211 for executing application processing in accordance with an application processing program 281 stored in the storage unit 28, and an encryption function generating unit 213, for example.

[0123] The encryption function generation unit 213 has a function of generating an encryption function for concealing input text and output text transmitted to and received from the server 10, for example.

[0124] FIG. 1-6 is a diagram showing an example of data stored in the storage unit 28 of the terminal 20 in this embodiment. The storage unit 28 stores, for example, an application processing program 281 to be executed as application processing, an application ID 283 corresponding to the terminal 20 or the account of the user of the terminal 20, and an encryption function 285.

[0125] The encryption function 285 may be configured, for example, with the following three types of encryption functions: · Language model encryption function: A function for encrypting language model parameters. · Input text encryption function: A function for encrypting a plaintext input text. · Encrypted output text decryption function: A function to decrypt the encrypted output text and obtain the plain text output text. The encryption function may also be called an encryption key.

[0126] <Processing Overview> First, Figure 1-7 shows an overview of the inference process in a language model using plaintext input and output sentences (referred to as "plaintext input sentence" and "plaintext output sentence", respectively). First, the user's terminal 20A acquires the plaintext input sentence "x" and transmits it to the server 10 of the language model provider. For example, the server 10 operates the language model unit 113 using the plaintext (raw data) language model parameter “θ” based on the language model parameter data 155 to infer (generate) the output sentence “y.” “x,” “θ,” and “y” may be vector data or tensor data. At this time, the output sentence "y" becomes a plain text output sentence, and for example, in the language model inference process in the server 10, it can be defined that the plain text output sentence "y" is inferred by the following function "f".

number

[0127] When the server 10 infers a plaintext output sentence "y" using a plaintext input sentence "x," the plaintext input sentence "x" and the plaintext output sentence "y" can be referenced on the language model provider side. Therefore, for example, if the language model provider is breached by an attacker, for example, through unauthorized access, there is a possibility that information relating to the plaintext input sentence "x" entered by the user and the plaintext output sentence "y" that is the inference result thereof may be leaked to the outside. Furthermore, if the data relating to the plaintext input sentence "x" and the plaintext output sentence "y" stored in the server 10 is used as training data for the language model by the language model provider or the like, there is a possibility that personal information or confidential information of the user may be unintentionally leaked.

[0128] 1-8 and 1-9 show an outline of the encrypted inference method in which encryption is performed using the method of the present invention. This method is roughly divided into the following two phases. (A). Language model parameter encryption phase. (B). Encryption inference phase.

[0129] Figure 1-8 shows an overview of (A) the language model parameter encryption phase. In the language model parameter encryption phase, first, the plaintext language model parameter "θ" used to operate the language model is transmitted from the server 10 to the terminal 20A. When the plaintext language model parameter “θ” is acquired, the terminal 20A executes a language model encryption function “Enc p (θ)” is calculated and stored in the storage unit 28. Then, the terminal 20A executes a language model parameter encryption process to calculate the encrypted language model parameter "θ'" using the language model encryption function. The encrypted language model parameter "θ'" can be calculated, for example, by the following equation (2).

number

[0130] After calculating the encrypted language model parameter “θ′”, the terminal 20A transmits it to the server 10. Then, the server 10 stores the encrypted language model parameter “θ′” in the storage unit 15.

[0131] Figure 1-9 shows an overview of (B) the encrypted inference phase. In the encryption inference phase, for example, first, the input text encryption function “Enc in (x)" and the encrypted output text decryption function "Dec out (y')" and stored in the storage unit 28. Next, the terminal 20A acquires the plaintext input text "x" and executes an input text encryption process to calculate the encrypted input text "x'" using the input text encryption function. The encrypted input text "x'" can be calculated, for example, by the following formula (3).

number

[0132] Then, the server 10 executes a language model inference process based on the encrypted input sentence "x'" and the encrypted language model parameter "θ'" to infer the encrypted output sentence "y'". The encrypted output sentence "y'" can be calculated, for example, by the following formula (4).

number

[0133] When the terminal 20A receives the encrypted output text "y'", it executes an output text decryption process to calculate the plain text output text "y'" using the encrypted output text decryption function. The plain text output text "y" can be calculated, for example, by the following formula (5).

number

[0134] When the server 10 infers the encrypted output text "y'" using the encrypted input text "x'", the language model provider does not know the language model encryption function, input text encryption function, or encrypted output text decryption function, and therefore cannot refer to the plaintext input text "x" and the plaintext output text "y". This makes it possible to prevent information about the plaintext input text "x" and the plaintext output text "y" from being leaked and to prevent re-learning into the language model.

[0135] For example, from equations (2) to (5), the plaintext output text "y" can be calculated by the following equation (6) using the language model encryption function, the input text encryption function, and the encrypted output text decryption function.

number

[0136] Generally, homomorphic encryption, a method used for secure computation, uses an input text encryption function, Enc in (x) and the language model encryption function "Enc p However, in this method, the input text encryption function "Enc in (x) and the language model encryption function "Enc p By using a different encryption method from "(θ)", the computational cost is reduced. Therefore, compared to applying homomorphic encryption to the language model inference process "f", which requires complex encryption calculations and huge computational costs, it is possible to reduce computational costs and improve processing speed. In addition, in homomorphic encryption, the plaintext input text “x” and the language model parameters “θ” are kept secret from the computer (e.g., the language model provider) that executes the language model inference process “f”, but in this method, the language model parameters “θ” are known to the computer, so there is no need to keep them secret.

[0137] The method for determining the language model encryption function, input text encryption function, and encrypted output text decryption function will be described later.

[0138] <Display screen> Examples of display screens will be described below. The transitions of the display screens described below are merely examples of transitions of the display screens for realizing the technique of the present disclosure. In the transitions of the display screens exemplified below, the display of some of the display screens may be omitted, or other display screens may be added. Furthermore, the terms used on the display screens described below may differ from the terms used in the processes described thereafter (some terms may not be consistent).

[0139] In the following, the terminal 20 is exemplified as a smartphone having a display unit 24 with a vertically long display. In the smartphone, a touch panel functioning as an input unit is disposed opposite the display, forming a touch screen. When an element such as an icon, button, item, or input area is displayed on the display, and a part of the touch panel that faces the area where the element is displayed is operated by a user, a program associated with the element or a subroutine of the program may be executed.

[0140] Note that the flow of screen transitions may be explained by showing specific screens displayed on different terminals 20 within one drawing or across multiple drawings. In this case, for example, the specific screen may be displayed on the different terminals 20 based on (triggered by) at least one of the following: - Automatically displayed A notification (including a push notification, etc.; the same applies below) is sent to the terminal 20, and is displayed when the user performs an operation in response to the notification. No notification is sent to the terminal 20, but it is displayed when the user performs a predetermined operation on the application. A notification is sent to the terminal 20, and the message is displayed when the user performs a predetermined operation on the application that sent the notification.

[0141] In the following, an example will be given in which the terminal 20A of user AA is used as an account for using the language model application. In this example, the dialogue services provided by the language model provider service are executed within the language model application. Note that the dialogue services provided by the language model provider service may be executed on a different application than the language model application, for example, a messaging application. In this case, the same screen configuration may also be used.

[0142] FIG. 1-10 is a diagram showing an example of a screen displayed on the display unit 24 of the terminal 20A in this embodiment.

[0143] The left side of Fig. 1-10 shows the home screen of the language model application displayed on terminal 20A. Below the application title, a message indicating that connection to the language model provider (server 10) is in progress and a message prompting the user to select whether or not to conceal input and output with the language model provider when using the language model application are displayed.

[0144] For example, when the user taps the "Yes" button BT1, which conceals input and output, the display changes to the home screen shown in the center of Fig. 1-10. This screen is configured to display a message indicating that the language model parameter encryption process is being executed on the terminal 20A, and a progress bar PB indicating the progress of the language model parameter encryption process. On this screen, the progress bar PB indicates that the progress is "100%", indicating that the language model parameter encryption process has been completed.

[0145] For example, when the user taps the "Start" button BT3 to start a dialogue using a language model, the display changes to the dialogue screen shown on the right side of Figure 1-10.

[0146] For example, the screen is configured so that a content input area CIR for inputting content (for example, a character string, an image, etc.) that will be the input sentence is displayed at the bottom. The interactive screen is configured to display an input sentence display area IC for displaying a plain text input sentence entered (sent) by the user, and an output sentence display area OC for displaying a plain text output sentence corresponding to the plain text input sentence. On this screen, the title characters indicating the input sentence display area IC and the output sentence display area OC display a lock icon, based on the fact that the plain text input sentence and the plain text output sentence are processed in a confidential state by the language model provider.

[0147] <Processing> 1-11 is a flowchart showing an example of the flow of processing executed by each device in this embodiment. From the left, this figure shows an example of processing executed by the control unit 21 of the terminal 20A of user AA, and an example of processing executed by the control unit 11 of the server 10. Note that the processes described below are merely examples of processes for realizing the method of the present disclosure, and are not limited to these. Furthermore, other steps may be added to the processing described below, or some steps may be omitted (deleted) from the processing described below.

[0148] It should be noted that "acquisition of information" in a device includes, for example, the concept of receiving information from outside the device, and inputting and calculating information within the device. Furthermore, "output of information" in a device includes concepts such as sending information outside the device and outputting and transmitting information into the device.

[0149] First, the control unit 21 of the terminal 20A (hereinafter sometimes simply referred to as "terminal 20A") transmits plaintext language model parameter request information to the server 10 to request plaintext language model parameters to be encrypted in the terminal 20A, for example, based on an input to the input / output unit 23 of the terminal 20A (for example, a user input (such as an operation input or sound input by the user); the same applies below) (A110).

[0150] When receiving the plaintext language model parameter request information from the terminal 20A, the control unit 11 of the server 10 (hereinafter sometimes simply referred to as "server 10") reads, for example, the plaintext language model parameters from the language model parameter data 155. Then, it transmits plaintext language model parameter information including the plaintext language model parameters to the terminal 20A (S110).

[0151] Upon receiving the plaintext language model parameter information from the server 10, the terminal 20A executes an encryption function generation process (A120). In the encryption function generation process, the terminal 20A calculates (determines) a language model encryption function based on, for example, the received plaintext language model parameters. Then, the terminal 20A calculates (determines) an input text encryption function and an encrypted output text decryption function based on the language model encryption function.

[0152] The language model encryption function may be calculated by, for example, a combination of a permutation matrix and a regularization matrix. More specifically, for example, Y. Ishikawa, M. Kondo, and H. Kataoka, "Learnable Cube-based Video Encryption for Privacy-Preserving Action Recognition," 2024 IEEE / CVF Winter Conference on Applications of Computer Vision (WACV), Waikoloa, HI, USA, 2024, pp. 6988-6998, doi: 10.1109 / WACV57701.2024.00685. Transformation matrices may be determined according to the layer structure of the plaintext language model parameters, and the language model encryption function may be determined as a combination of the transformation matrices.

[0153] The input text encryption function may be, for example, a transformation matrix for the input to the input layer (e.g., embedding layer) of the language model in the language model encryption function. The encrypted output text decryption function may be, for example, a transformation matrix for the output from the output layer (e.g., softmax layer) in the language model encryption function.

[0154] For example, when encrypting a token ID of a language model, a permutation matrix indicating the relationship between the token ID before encryption and the token ID after encryption may be used as the input text encryption function and the encrypted output text decryption function. Figure 1-12 shows an example of a conversion table between a tokenized character string, the token ID (plaintext token ID) in the plaintext input text corresponding to that character string, and the encrypted token ID after substitution. By referring to this conversion table, it can be seen that, for example, plaintext input text "x" = [1,2,3,4] corresponding to the character string "This is a pen" is converted to encrypted input text "x'" = [4,2,5,1]. It can also be seen that plaintext input text "x" = [1,2,3,4] corresponding to the character string "This is an apple" is converted (substituted) to encrypted input text "x'" = [4,2,6,3]. In the encrypted output text decryption process, the above inverse transformation may be applied as the encrypted output text decryption function. The matrix indicating the transformation between the plain text token ID and the encrypted token ID may be called the input text encryption function or the encrypted output text decryption function.

[0155] The encrypted representation is not limited to the token ID. For example, a one-hot vector representing a token may be used as the plaintext input text, and a vector encrypted using a permutation matrix or the like may be used as the encrypted input text.

[0156] Returning to FIG. 1-11, for example, the terminal 20A calculates three encryption functions and stores them in the encryption function 285.

[0157] Next, the terminal 20A executes a language model parameter encryption process (A130). As described above, when the encrypted language model parameters are calculated by the language model parameter encryption process, the terminal 20A transmits encrypted language model parameter information including the calculated encrypted language model parameters to the server 10 (A140).

[0158] When the server 10 receives the encrypted language model parameter information from the terminal 20A, the server 10 executes, for example, an encrypted language model parameter reflection process (S120). In the encrypted language model parameter reflection process, the server 10 associates the encrypted language model parameters with the application ID of the terminal 20A, for example, and stores them in the language model parameter data 155. Then, the server 10 executes settings to operate the language model unit 113 using the encrypted language model parameters for an input sentence received from the application ID of the terminal 20A.

[0159] For example, the terminal 20A executes a plaintext input text acquisition process based on a user input (A150). The plaintext input text to be acquired may be in any format that can be handled by the language model unit 113. For example, the plaintext input text may be a character string or an image. Then, the terminal 20A executes an input text encryption process on the acquired plain text input text to calculate an encrypted input text (A160). Then, the terminal 20A transmits encrypted input information including the encrypted input text to the server 10 (A170). For example, the encrypted input information may include the application ID of the terminal 20A.

[0160] Note that, when the server 10 executes the encrypted language model parameter reflection process, it may be configured to transmit encrypted input text request information indicating that preparation for receiving an encrypted input text has been completed to the terminal 20A. When the terminal 20A receives the encrypted input text request information, it may be configured to display the information on the display unit 24, for example. Thereafter, the terminal 20A may execute a plain text input text acquisition process.

[0161] When the server 10 receives the encrypted input information from the terminal 20A, the server 10 executes a language model inference process to infer an encrypted output sentence (S130). Then, the server 10 transmits the encrypted output information including the encrypted output sentence to the terminal 20A (S140).

[0162] Upon receiving the encrypted output information from the server 10, the terminal 20A executes the output text decryption process to calculate the plain text output text (A180). Then, the terminal 20A outputs the plain text output text (for example, displays it on the display unit 24) (A190).

[0163] Then, the terminal 20A determines whether to end the processing (A199). For example, if it is determined to continue the processing based on the user input (A199: NO), the terminal 20A returns the processing to A150, for example. On the other hand, if it is determined to end the processing (A199: YES), the terminal 20A ends the processing.

[0164] The server 10 also determines whether to terminate the process (S199). For example, if it is determined to continue the process based on the reception of information from the terminal 20A (S199: NO), the server 10 waits for reception of encrypted input information, and returns the process to S130. On the other hand, if it is determined to terminate the process (S199: YES), the server 10 terminates the process.

[0165] <Effects of the First Embodiment> According to this embodiment, the control unit 21 of the terminal 20 (an example of an information processing device that executes processing related to a language model) receives (an example of acquisition) plaintext language model parameters (an example of language model parameters) from the server 10 (a first information processing device). The terminal 20 also generates a language model encryption function (an example of encryption information for encrypting inference processing in the language model) and calculates encrypted language model parameters (an example of first information obtained by encrypting parameters) based on the encryption information. The terminal 20 then transmits (an example of output) the first information to the first information processing device. This shows an example of a configuration in which an encrypted input sentence (an example of second information) obtained by encrypting a plaintext input sentence (an example of input to a language model) based on the encryption information is calculated and transmitted to the first information processing device. According to this, the information processing device can output the first information and the second information for encrypting the inference process in the language model to the first information processing device, and therefore the first information processing device can perform the encrypted inference process based on the first information and the second information.

[0166] In this embodiment, the terminal 20 receives (an example of acquisition) from the first information processing device an encrypted output sentence (an example of third information) inferred by the first information processing device based on the first information and the second information through a language model inference process (an example of an inference process). Then, the terminal 20 calculates a plaintext output sentence (an example of an inference result for an input) by decrypting the third information based on the encrypted information. This allows the terminal 20 to cause the first information processing device to execute inference processing in the language model while keeping the input and inference results confidential.

[0167] In addition, this embodiment shows an example of a configuration in which the language model encryption function (an example of encryption information) defines an input text encryption function (an example of first encryption information) for encrypting the input and an encrypted output text decryption function (an example of second encryption information) for decrypting the third information, and the terminal 20 encrypts the input based on the first encryption information and decrypts the third information based on the second encryption information. This allows the terminal 20 to conceal the input using the first encryption information determined based on the encryption information, and to obtain the inference result decrypted using the second encryption information.

[0168] Furthermore, server 10 (an example of a server that executes processing related to a language model), which communicates with terminal 20 (an example of a terminal), transmits plaintext language model parameters (an example of language model parameters) to the terminal. Then, it receives encrypted language model parameters (an example of first information obtained by encrypting parameters) and an encrypted input sentence (an example of second information obtained by encrypting input to a language model) from the terminal. Then, based on the first information and the second information, it executes a language model inference process (an example of inference using a language model) and transmits the inferred encrypted output sentence (an example of third information) to the terminal. This has the effect of allowing the server to perform inference using a language model without being able to refer to the input at the terminal and the inference results of the language model for the input, and to transmit the inferred third information to the terminal.

[0169] <First Modification Example (1)> In the above embodiment, in the configuration of the terminal 20 and the server 10, input and output on the terminal 20 side are concealed from the server 10, but this is not limiting. For example, a secure enclave, which is a method for isolating and protecting highly confidential code and data from other processes running on the system, may be used to separate the same device into a secure area and a non-secure area. Then, the processing of the terminal 20 may be executed in the secure area, and the processing of the server 10 may be executed in the non-secure area. The input and output of information between the secure area and the non-secure area can be said to be an example of the acquisition and output of information. This makes it possible to conceal input to a language model in a secure area of ​​an information processing device and inference results based on the input from a non-secure area.

[0170] This modification shows an example of a configuration in which the secure area of ​​an information processing device (an example of an information processing device) includes a non-secure area (an example of a first information processing device). With this, the information processing device can output the first information and the second information for encrypting the inference process in the language model to the first information processing device.

[0171] <First Modification Example (2)> In the above embodiment, the terminal 20 acquires plaintext language model parameters, generates an encryption function, and executes the language model parameter encryption process, but this is not limiting. For example, the encryption function generation process and the language model parameter encryption process may be executed by a server (e.g., server 40, not shown) of an encryption service provider that cooperates with the language model provider service company.

[0172] 1-13 is a flowchart showing an example of the flow of processing executed by each device in this modification. From the left, this figure shows an example of processing executed by the control unit 21 of the terminal 20A of the user AA, an example of processing executed by the control unit 11 of the server 10, and an example of processing executed by a control unit (not shown) of the server 40.

[0173] For example, the terminal 20A transmits language model inference encryption request information requesting that the inference in the language model be encrypted based on the user input to the server 10 (A105). In response, the server 10 transmits plaintext language model parameter information to the server 40 (S115).

[0174] The terminal 20A may transmit language model inference encryption request information to the server 40. Then, the server 40 may transmit plaintext language model parameter request information to the server 10. Then, the server 10 may transmit plaintext language model parameter information to the server 40.

[0175] The server 40 receives the encryption function generation process based on the acquired plaintext language model parameters (E120), then executes the language model parameter encryption process based on the calculated language model encryption function (E130), and transmits encrypted language model parameter information including the encrypted language model parameters to the server 10 (E140).

[0176] Furthermore, the server 40 transmits input / output encryption function information including the calculated input text encryption function and encrypted output text decryption function to the terminal 20A (E150). When receiving the input / output encryption function information from the server 40, the terminal 20A stores the input text encryption function and the encrypted output text decryption function in the storage unit 28. Then, the terminal 20A executes the plain text input text acquisition process and the like.

[0177] That is, the user of the server 40 can refer to the plaintext language model parameters, but the user of the terminal 20 cannot. This allows the user of the server 10 to keep the plaintext language model parameters secret from the user of the terminal 20. Note that the server 10 may keep the plaintext language model parameters secret from the server 40, with reference to the contents of a second embodiment described later. Furthermore, by executing the encryption function generation process and the language model parameter encryption process in the server 40, the specifications required for the terminal 20 can be lowered, and the load on the terminal 20 can be reduced.

[0178] In this modification, a system (an example of an information processing device) of a terminal 20A and a server 40 includes a control unit (an example of a first control unit) of the server 40 and a control unit 21 (an example of a second control unit) of the terminal 20A. The first control unit acquires parameters from the first information processing device, generates encrypted information, calculates first information, outputs the first information to the first information processing device, and outputs the encrypted information to the second control unit. The second control unit calculates second information based on the encrypted information and outputs the second information to the first information processing device. This brings about an effect that the second control unit of the information processing device cannot refer to the parameters acquired from the first information processing device.

[0179] <Second Example> The second embodiment is an embodiment in which, for example, a language model provider conceals language model parameters from the user of the terminal 20. The contents described in the second embodiment are similarly applicable to any of the other embodiments and other modified examples.

[0180] In the second embodiment, the language model operated on the server may be, for example, a closed language model that is not publicly available (for example, "GPT-4" or "Claude 3"). In other words, the language model provider service operator needs to keep the language model parameters confidential from external users such as terminal users. Therefore, the server 10 cannot transmit the plaintext language model parameters to the terminal 20A.

[0181] 2-1 shows an outline of the encrypted inference method in this embodiment. In this embodiment, the language model parameter encryption phase is different. In the language model parameter encryption phase, first, the server 10 performs a language model concealment operation “Enc M (θ)" and, for example, the language model disclosure operation "Dec M (Θ)" is generated and stored in the storage unit 15. Then, the server 10 executes a language model concealment process to obtain a confidential language parameter "Θ" from the plaintext language model parameter "θ" using a language model concealment operation. The language model concealment process may also be called a language model encryption process. The confidential language parameter "Θ" can be calculated, for example, by the following formula (7).

number

[0182] The terminal 20A performs language model parameter encryption processing on the confidential language parameter “Θ” to calculate the encrypted confidential language model parameter “Θ′.” Then, the terminal 20A transmits the encrypted confidential language model parameter “Θ′” to the server 10.

[0183] When the server 10 acquires the encrypted secret language model parameter "Θ'", it executes a language model disclosure process to obtain the encrypted language model parameter "θ'" from the encrypted secret language model parameter "Θ'". The language model disclosure process may also be called a language model decryption process. The encrypted language model parameter "θ'" can be calculated, for example, by the following formula (8).

number

[0184] Figure 2-2 shows an example of the language model concealment operation. In the language model concealment operation, for example, the plaintext language model parameter “θ” is divided into “N” (where “N” is an integer equal to or greater than 2) division elements “θ1, θ2, . . . ,θ N The parameter division may be performed in units of the layer structure of the language model, for example, by dividing each layer. For example, the weight matrix of the "k"th layer of a language model consisting of "N" layers is divided into "W k ", then "θ k =W k " can also be used. Then, "M" ("M" is an integer greater than or equal to 1) dummy parameters "d1, d2, . . . , d M For example, the dummy parameter length is used to generate an arbitrary division element "θ n The value of the dummy parameter may be random or may be set to any division element "θ n The value of " may be perturbed. A dummy parameter may be used as one of the dividing elements. When the dummy parameters are generated, they are inserted between the division elements. The insertion position may be random, or they may be inserted at the beginning or end of the division element. Then, an index is assigned to store the order of the dummy parameters and the division elements. For example, the index of the first division element is "1" and the index of the last division element is "N." The index corresponding to the dummy parameter may be "Φ." Then, the division elements or parameters are rearranged, for example, randomly, with the indexes assigned. After that, the rearranged division elements or dummy parameters are separated from the indexes. For example, the information formed by the rearranged division elements may be used as the confidential language parameter "Θ." If the index cannot be referenced in the confidential language parameters, it is impossible to determine which of the divided elements is a dummy parameter. Furthermore, the rearrangement order is also impossible to determine. Therefore, it is difficult to restore the plaintext language model parameters from the confidential language parameters alone. For example, for the confidential language parameter "Θ", a language model encryption process is executed for each divided element to calculate an encrypted divided element (such as "d2'" or "θ1'"). For example, information composed of the encrypted divided elements may be used as the encrypted confidential language parameter "Θ'".

[0185] In addition, the language model disclosure process may retrace the above processing steps, for example, by referring to the encrypted secret language parameter "Θ'" and the index to remove dummy parameters, and rearrange each encrypted split element in the order of the index to use the information as the encrypted language model parameter.

[0186] <Processing> 2-3 is a flowchart showing an example of the flow of processing executed by each device in this embodiment. From the left, this figure shows an example of processing executed by the control unit 21 of the terminal 20A of user AA, and an example of processing executed by the control unit 11 of the server 10.

[0187] For example, when receiving plaintext language model parameter request information from the terminal 20A, the server 10 reads the plaintext language model parameters and executes language model concealment processing (S210).Then, the server 10 transmits language model parameter segment element information including one or more segment elements of the concealed language parameters to the terminal 20A (S220).

[0188] When it is determined that language model parameter division element information has been received from the server 10 (A210), the terminal 20A executes encryption function generation processing (A120) to generate an encryption function. Note that the terminal 20A may use a common encryption function for each division element, or may use different encryption functions.

[0189] When a common encryption function is used for each divided element, for example, the real matrix used in the input text encryption process is "P" and the real matrix used in the output text decryption process is "Q". Also, the activation function for the "k"th layer is "f k Then, in the encryption function generation process, the terminal 20A uses, for example, "x=Qf k (Px)". Then, in the language model parameter encryption process (A130), the terminal 20A may determine "P" and "Q" so as to satisfy "θ'=w k ´=PW k Q" and the division element may be encrypted.

[0190] When a different encryption function is used for each divided element, the real matrix used in the input text encryption process for the "k"th layer is defined as "P k ”, and the real matrix used in the output sentence decoding process is “Q k Then, in the encryption function generation process, the terminal 20A uses, for example, "x=Q k+1 f k (P k x)" so that "P k " and "Q k The "k=0" layer corresponds to the input to the language model, and the "k=N+1" layer represents the output of the language model. In this case, the server 10 may transmit information about the layer currently being processed (for example, the suffix "k") in the language model parameter division element information. Also, for example, the language model parameter division element information may include, for the same "k"th layer, the division elements of the plaintext language model parameters and one or more dummy parameters.

[0191] When receiving the encrypted language model parameter information related to the segment elements from the terminal 20A, the server 10 determines, for example, whether all the segment elements have been encrypted (S230). When it is determined that all the segment elements have been encrypted (S230: YES), the server 10 executes the language model disclosure process (S230) and calculates the encrypted language model parameter "θ'" from the encrypted secret language model parameter "Θ'".

[0192] If it is determined that all the segment elements have not been encrypted (S230: NO), the server 10 returns the process to S220, for example, and transmits the language model parameters / segment element information relating to the unprocessed segment elements.

[0193] When a common encryption function is used for each divided element in the input text encryption process (A160) or the output text decryption process (A180), the terminal 20A may execute the process based on the real matrix "P" or the real matrix "Q". When a different encryption function is used for each divided element, the terminal 20A may execute the process based on the real matrix "P0" or the real matrix "Q". N+1 The processing may be performed based on the

[0194] <Effects of the second embodiment> In this embodiment, a server 10 (an example of a server that executes processing related to a language model) that communicates with a terminal 20 (an example of a terminal) executes language model concealment processing (an example of processing for concealing language model parameters). Then, it transmits language model parameter division element information (an example of concealed parameters) to the terminal. Then, it receives encrypted concealed language model parameters (an example of first information obtained by encrypting the concealed parameters) and an encrypted input sentence (an example of second information obtained by encrypting an input to a language model) from the terminal. Then, it executes language model inference processing (an example of inference using a language model) based on the first information and the second information, and transmits the inferred encrypted output sentence (an example of third information) to the terminal. This provides an advantage that the server can perform inference using the language model while keeping the parameters of the language model secret from the terminal, and can transmit the inferred third information to the terminal.

[0195] <Third Example> The third embodiment is an embodiment in which, for example, a language model provider provides a plurality of language models. The contents described in the third embodiment can be similarly applied to any of the other embodiments and other modified examples.

[0196] <Display screen> FIG. 3-1 is a diagram showing an example of a screen displayed on the display unit 24 of the terminal 20A in this embodiment.

[0197] The left side of Figure 3-1 shows another example of the home screen of the language model application. This screen is configured to display a language model selection area MSR for selecting a language model to use during dialogue.

[0198] In the language model selection area MSR, for example, when the user taps the "Second Language Model" selection button to select the use of a "Second Language Model," the display changes to the home screen shown in the center of Figure 3-1. This screen is configured to display a message that prompts the user to select whether or not to conceal input and output with the language model provider when the "Second Language Model" selected by the user is used.

[0199] For example, when the user taps the "Yes" button BT1, the display changes to the home screen shown on the right side of Figure 3-1. On this screen, the progress bar PB indicates that the progress is "100%," indicating that the language model parameter encryption process for the "second language model" has been completed.

[0200] 3-2 shows an example of processing in this embodiment. For example, the server 10 switches between "L" language models ("L" is a natural number). For example, the server 10 may store the "L" language model parameter data 155 in a distinguished manner, such as language model parameter data 155A related to a first language model and language model parameter data 155B related to a second language model.

[0201] For example, when the server 10 receives plaintext language model parameter request information from the terminal 20A, it transmits language model information regarding "L" language models to the terminal 20A. The language model information may include, for example, the name of the language model, its features, and the input / output format it accepts.

[0202] When receiving the language model information from the server 10, the terminal 20A, for example, displays the language model information on the display unit 24. Then, the terminal 20A executes, for example, a language model selection process. In the language model selection process, the terminal 20A transmits to the server 10, for example, language model designation information for designating the language model to be used (to be operated by the server 10) based on a user input.

[0203] When receiving the language model designation information from the terminal 20A, the server 10 transmits language model parameter data 155 corresponding to the designated language model (e.g., language model parameter data 155B related to the second language model) as plaintext language model parameter information to the terminal 20A. Thereafter, the server 10 may execute processing using the designated language model, for example, in accordance with the processing from step A120 onward in FIG. 1-11.

[0204] This embodiment shows an example in which the language model includes multiple language models, and the terminal 20 outputs language model designation information (an example of fourth information related to designating a language model to be used in the inference process) to the server 10, and acquires language model parameters (an example of parameters based on the fourth information) corresponding to the designated language model from the server 10. This allows the terminal 20 to specify the language model to be used in the inference process by using the fourth information.

[0205] <Third Modification (1)> In the above embodiment, the language model (language model parameters) is stored in advance in the server 10, but this is not limiting. For example, a unique language model (referred to as an "original language model") may be received from the terminal 20 or a server of another business partnering with the language model provider service, and run on the server 10.

[0206] 3-3 shows an example of processing in this modified example. In this example, for example, it is assumed that the terminal 20B provides the original language model to the server 10. For example, the terminal 20B executes an original language model providing process. In the original language model providing process, the terminal 20B transmits to the server 10, for example, original language model parameter information including language model parameters of the original language model.

[0207] When the server 10 receives the original language model parameter information from the terminal 20B, the server 10 stores the original language model parameters in the language model parameter data 155, for example, separately (for example, as language model parameter data 155B).

[0208] For example, referring to the second embodiment, the server 10 may conceal the plaintext language model parameters of the original language model from terminals 20 other than the terminal 20B that provided the original language model. This allows the user of the terminal 20B that provides the original language model to allow users of other terminals 20 to use the original language model without worrying about the original language model being leaked to the outside.

[0209] <Other>

[0210] At least a part of the processing that is to be performed by the server 10 in the above embodiment may be performed by the terminal 20. Conversely, at least a part of the processing that is to be performed by the terminal 20 in the above example may be performed by the server 10.

[0211] The operator of the server 10 may also be a language model provider service provider that cooperates with a messaging service provider, or a messaging service provider that cooperates with a language model provider service provider. In this case, the processing described in the above embodiments may be realized by one server, or the processing described in the above embodiments may be shared and realized by a server system consisting of multiple servers. A system configured with one or more servers may be defined as a server system, and the server of the present invention may be considered as a server system.

[0212] Furthermore, in the above-described embodiments, a server for distributing various applications (a server from which the terminal 20 downloads applications) may be configured as a server different from a server for providing the corresponding service (application). In other words, a server for distributing applications and a server for performing application management processing, etc., described in the above-described embodiments, etc., may be configured as physically separated servers, or may be configured as a single server.

[0213] Furthermore, applications are not limited to various application programs, but may also include, for example, a program that provides the functionality of another service as one function of a base application (for example, a program that provides the functionality of a language model provider service as one function of a messaging application, or vice versa), a program for updating the base application, etc. Data used by application programs (which may include data for updating applications, etc.) may also be included.

[0214] In the above embodiments, the present invention is implemented by a client-server system, but is not limited to this. As mentioned above, the present invention may be implemented by a system such as a distributed system in which the terminal 20 has the functions of a server or server system. For example, the processes described in the flowcharts of the above embodiments as being performed by a server or server system may be performed by a terminal.

[0215] Furthermore, as mentioned above, the contents described in the above-mentioned embodiments, modifications, other embodiments, etc. can be applied in combination with each other. [Explanation of symbols]

[0216] 1. Communication Systems 10 Servers 20 terminals 30 Network

Claims

1. A program executed by an information processing device that executes processing related to a language model, acquiring parameters of the language model from a first information processing device; generating encryption information for encrypting an inference process in the language model; calculating first information obtained by encrypting the parameter based on the encryption information; outputting the first information to the first information processing device; calculating second information obtained by encrypting an input to the language model based on the encrypted information; outputting the second information to the first information processing device; is executed by a control unit of the information processing device, program.

2. 2. The program according to claim 1, acquiring, from the first information processing device, third information inferred by the first information processing device based on the first information and the second information through the inference process; calculating an inference result for the input obtained by decrypting the third information based on the encrypted information; is executed by the control unit. program.

3. 3. The program according to claim 2, the encryption information defines first encryption information for encrypting the input and second encryption information for decrypting the third information; encrypting the input based on the first encryption information; decrypting the third information based on the second encrypted information; is executed by the control unit. program. program.

4. 2. The program according to claim 1, The information processing device includes the first information processing device. program.

5. 2. The program according to claim 1, the control unit includes a first control unit and a second control unit, acquiring the parameters from the first information processing device; generating the encrypted information; calculating the first information; outputting the first information to the first information processing device; outputting the encrypted information to the second control unit; is executed by the first control unit, calculating the second information based on the encrypted information; outputting the second information to the first information processing device; is executed by the second control unit. program.

6. 6. The program according to claim 5, acquiring, from the first information processing device, third information inferred by the first information processing device based on the first information and the second information through the inference process; calculating an inference result for the input obtained by decrypting the third information based on the encrypted information; is executed by the second control unit. program.

7. 2. The program according to claim 1, the language model includes a plurality of language models; outputting fourth information relating to designation of a language model to be used in the inference process from among the plurality of language models to the first information processing device; acquiring the parameter based on the fourth information from the first information processing device; is executed by the control unit. program.

8. An information processing method executed by an information processing device that executes processing related to a language model, acquiring parameters of the language model from a first information processing device; generating encryption information for encrypting an inference process in the language model; calculating first information obtained by encrypting the parameter based on the encryption information; outputting the first information to the first information processing device; calculating second information obtained by encrypting an input to the language model based on the encrypted information; outputting the second information to the first information processing device; An information processing method, including:

9. An information processing device that executes processing related to a language model, the information processing device includes a control unit, The control unit acquiring parameters of the language model from a first information processing device; generating encryption information for encrypting an inference process in the language model; calculating first information obtained by encrypting the parameter based on the encryption information; outputting the first information to the first information processing device; calculating second information obtained by encrypting an input to the language model based on the encrypted information; outputting the second information to the first information processing device; Information processing device.

10. A program executed by a server that communicates with a terminal and executes processing related to a language model, transmitting parameters of the language model to the terminal; receiving first information obtained by encrypting the parameters from the terminal; receiving second information from the terminal that encrypts an input to the language model; performing inference using the language model based on the first information and the second information; transmitting the inferred third information to the terminal; is executed by the control unit of the server, program.

11. The program according to claim 10, the language model includes a plurality of language models; receiving fourth information from the terminal regarding designation of a language model to be used for the inference from among the plurality of language models; transmitting parameters of the language model specified based on the fourth information to the terminal; is executed by the control unit. program.

12. A program executed by a server that communicates with a terminal and executes processing related to a language model, performing a process of concealing parameters of the language model; transmitting the concealed parameters to the terminal; receiving first information obtained by encrypting the concealed parameters from the terminal; receiving second information from the terminal that encrypts an input to the language model; performing inference using the language model based on the first information and the second information; transmitting the inferred third information to the terminal; is executed by the control unit of the server, program.

13. 13. The program according to claim 12, the concealment process includes dividing the parameters and mixing dummy parameters based on the divided parameters. program.

14. An information processing method executed by a server that communicates with a terminal and executes processing related to a language model, comprising: transmitting parameters of the language model to the terminal; receiving first information obtained by encrypting the parameters from the terminal; receiving second information from the terminal that encrypts an input to the language model; performing inference using the language model based on the first information and the second information; transmitting the inferred third information to the terminal; An information processing method, including:

15. A server that communicates with a terminal and executes processing related to a language model, The server includes a control unit, The control unit transmitting parameters of the language model to the terminal; receiving first information obtained by encrypting the parameters from the terminal; receiving second information from the terminal that encrypts an input to the language model; performing inference using the language model based on the first information and the second information; transmitting the inferred third information to the terminal; server.

16. An information processing method executed by a server that communicates with a terminal and executes processing related to a language model, comprising: performing a process of concealing parameters of the language model; transmitting the concealed parameters to the terminal; receiving first information obtained by encrypting the concealed parameters from the terminal; receiving second information from the terminal that encrypts an input to the language model; performing inference using the language model based on the first information and the second information; transmitting the inferred third information to the terminal; An information processing method, including:

17. A server that communicates with a terminal and executes processing related to a language model, The server includes a control unit, The control unit performing a process of concealing parameters of the language model; transmitting the concealed parameters to the terminal; receiving first information obtained by encrypting the concealed parameters from the terminal; receiving second information from the terminal that encrypts an input to the language model; performing inference using the language model based on the first information and the second information; transmitting the inferred third information to the terminal; server.

Citation Information

Patent Citations

  • Agent program, device, and method for speaking text according to a character

    JP7105749B2