📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Преимущества нейросети, и как ее применить в 1С

implecs | Внедрение и поддержка 1С48:18

Transcription

Good day, ladies and gentlemen. Can you hear me? >> Everything is heard perfectly. Thank you, Vladimir. >> Excellent. I hope you can see me too. I am Vladimir Satarov, a 1C developer at the company Ilex, and today I want to talk about the advantages of neural networks, and most importantly, what disadvantages they have. So, let's start with a rather general point. So, you have all, of course, encountered neural networks, so-called chatbots. This is Deep PSI, this is our Alice, this is chat GPT, Gemini, Grok, and a number of other chatbots. They draw pictures, write music, write poems, and answer coherently. According to some reports, some comrades even use it as a personal psychoanalyst. This is all good, of course, but the question is, how can we use neural networks for business purposes? This is a more interesting question. Well, first of all, I want to say that there is a huge amount of hype around neural networks. That is, it is presented as a universal tool, a universal button that can solve any business problem. This is not entirely true. There are some limitations, which I would like to talk about a little later. Ah, but perhaps I should start with why I dislike the term artificial intelligence. I recall that the English name for this field is "artificial intelligence." However, in English, besides the word "intelligence," there is also the word "intellect." So why is this field called not "artificial intellect" but specifically "artificial intelligence"? Well, because intellect is a somewhat broader concept and a higher concept. Intellect is about discovering a new law of nature, writing a brilliant poem, making a brilliant film, writing a completely unique book. Intelligence is a certain skill, it is, let's say, like working according to some template. Therefore, in my opinion, the term artificial intelligence is not entirely accurate. It would be more correct to call it artificial researcher or artificial skill. Something like that.

And how is an artificial neuron structured? Well, let's start with the very basics. What was discovered, what was proposed back in 1943 by Warren McCulloch and Walter Pitts, they proposed this system. Here, the inputs to the neuron are denoted by x, i.e., these are the signals that are fed to the neuron's input. W are the weights, which each input has. Sigma is the summation function, and B is the bias, or bias, in our "bird" terminology. What does a neuron do? In reality, it computes a very simple function. It multiplies each input by its weight and sums all these products, then adds the bias to it, and feeds the result to an activation function. Ah, ah, in fact, from the output of the activation function, we get the result of the neuron's work. Well, a question arises here. Look, essentially, this is an ordinary linear function. However, in nature, we encounter linearity extremely rarely. As a rule, we have non-linear dependencies. What exactly introduces non-linearity into the neuron's operation? Ah, it's the activation function. Why? Because it can be, for example, like this. This is a sigmoid. And if we look at the x-axis, it's the value of the sum after the summer, and on the y-axis, it's the output that will be the value that will be at the neuron's output. This is a hyperbolic tangent. You see, again, a non-linear dependency. And the most popular is the function. In reality, there are many more activation functions. However, there is no particular point in considering all of them. It is enough to simply understand that there are many of them and what they are in principle.

Well, now let's look at how this neuron works. Well, first of all, ah, ah, I want to make a disclaimer. I am not prone to misogyny. Ah, so, in fact, well, let's say, each of us probably has an acquaintance about whom we can say that he thinks with one neuron. In this case, this slide shows the process of choosing, let's say, well, not a life partner, perhaps. A girl is simply evaluating young men, who she wants to get acquainted with and who she will never get acquainted with. And we have three inputs. The first input is financial security. The second is a propensity for bad habits, alcohol, tobacco smoking, and so on. And the third input. Is our contender handsome or not. Each of the inputs is encoded by a zero or a one. Zero if no, and one if yes. Each input has weights of 0.5, -0.5, and 0.5, and once again 0.5. Then we have summation, after which the result is fed to the function. And after that, a choice is made. If the resulting value is greater than 0.5, then the girl will decide to get acquainted with the young man. If not, then the young man definitely has no chance. So, how does this work? Let's imagine that we have a financially secure, but, ah, prone to various excesses comrade, and not a handsome one. What do we get? Here we have one, here we have one, and here we have zero. 1 x 0.5 + 1 x -0.5 = 0. And with this young man, our lady will not want to get acquainted. If, however, he is financially secure, does not smoke, does not drink, leads a healthy lifestyle, and is also handsome, then we get a one at the output, and the girl will get acquainted with this comrade. However, even in the case where he is financially secure, but nevertheless prone to abuse and still handsome, our lady will decide that, well, yes, she'll go for it. Ah, this is how a neuron worked initially. But, of course, any neural network is not one neuron, it is a combination of neurons.

Here you see a schematic picture of a fully connected multilayer perceptron. This is one of the first neural network architectures that ever appeared in the world. Here we have inputs, ah, a hidden layer, i.e., a layer that we do not see. Each neuron in the input layer is connected to each neuron in the first hidden layer. Each neuron in the first hidden layer is connected to each neuron in the second layer. And each neuron, ah, ah, in the second hidden layer is connected to the neurons in the output layer. This connection of each to each is the full connectivity of the network. Well, what can this network do? In courses for neural network developers, an example is given where a similar system is capable of recognizing handwritten digits with a probability of up to 70%. 70-75% is what this network gives. This is one of the first results that was obtained, in fact, in this field. Another point, in fact, using this network as an example, one very important moment can be shown. So, suppose we are dealing with handwritten digits. An image of 28x28 pixels. Each pixel has a number from zero to 255. And we feed all these pixels to the input of the neural network. There will be 784 of them in total. Each neuron at the input will be responsible for one pixel. We will have one hidden layer and, ah, one output layer. That is, the neural network will consist of only three layers. So the question is: how many parameters does this neural network have? And a simple calculation gives us the figure of 101,770 parameters. Ah, this is precisely why I emphasized this figure. Because even the simplest neural network has a huge number of parameters. It is this factor that gives us the ability to adapt to almost any situation, i.e., to almost any task. In large neural networks, the ones you have worked with, we are already talking about billions of parameters.

Well, and here a logical question may arise. Ah, do I have to set all these parameters manually? I just won't be able to cope. Well, you don't have to. The fact is that in addition to the neuron itself, there are some algorithms for calculating the neuron, and special training functions have been developed for all of this, which, during training, adjust the neuron's parameters in such a way that they optimally solve the task. That is, the adjustment of all these hundred thousand is done using a specific algorithm. You only need to provide examples on which your neural network will learn. But, of course, since the first fully connected perceptron, a huge number of various neural network architectures have been invented. Here I have listed some of them. Of what is here, I can draw your attention, for example, to these neural networks. They look like hourglasses turned on their side. They are generally called autoencoders. These networks, one of the tasks that these neural networks can solve is signal cleaning or the detection of atypical spikes. How can this be applied in business? Well, for example, you have some business parameters that change over time, and you want them to be a little higher, every day a little higher, a little lower. Sometimes they are much higher, sometimes much lower. And you would like to know which of these changes is atypical. Ah, for solving this problem, among others, such an architecture called an autoencoder is suitable. This little network, for example, can recognize images, i.e., it is designed for this specific task. Well, of course, other models are now used much more. And, in particular, here is a schematic diagram of a chatbot. Here the user sends a request. It is processed by the so-called embedding model. Then there is a request to the vector DB. Then the result goes to the LLM, and the LLM sends you an answer. Well, you probably didn't understand anything because I'm speaking in our programmer's "bird" language. Let's decipher a little what embedding is. The thing is this. The thing is that initially, well, for example, you decided to create a chatbot that will answer questions about your internal regulations, i.e., about regulatory documents. What should you do? Ah, you need to feed all this to the embedding model. What is embedding? It is the representation of your text in the form of vectors. That is, it is a model that translates your text into some, well, it's a one-dimensional array in reality, a vector, into some vectors. And then, after training on your data, all these results are stored in a vector database. When a user sends a request, this text again goes through the embedding model. It builds a vector that corresponds to the request that the user made. This vector is sent as a request to the vector database, a certain answer is obtained, and this answer goes to the generative LLM. What is LLM? Large Language Model. This is precisely the thing that talks to you. That is, the thing that writes in Russian or English or German, is able to formulate a grammatically correct and beautiful answer in a certain language.

Ah, how do we organize the interaction between 1C and our neural network? Well, let's consider a very simple case where your neural network is within your organization. Ah, the fact is that in 1C itself, there are three models that 1C has developed itself. These are text recognition, voice recognition, and forecasting. Perhaps I will dedicate some of the upcoming webinars to them, if possible. However, 1C has tools that allow it to be connected to any neural network that can exist in this world. I say this with complete confidence. It is done incredibly simply. A web server is placed between 1C and the neural network. And then communication occurs via the HTTP protocol. Well, again, you might say that I'm speaking in a "bird" language, however, this situation is absolutely familiar to you. All sorts of honest signs, all sorts of markings, and other such things, they work precisely using the same technology. That is, we are not inventing anything new here, we are using battle-tested classics.

Further, a slightly more complex process, if you are using a global neural network. The whole problem is what? The global one is more powerful and more functional. However, it has a very unpleasant feature. It knows nothing about your organization and knows nothing about what is happening inside. How should it be done in this case? The user sends a certain request to your system, i.e., to the code that is on your side. This code takes the request, adds some context to it. Well, this can be some hints, it can be all sorts of additional information. And after that, it is sent to the global neural network. The global neural network parses the prompts, here they are added, it parses the request taking into account the prompts and makes a call, a callback to some function on your side. This function is executed, and its result is returned, again, to the global neural network. And there, the answer that will be returned to our dear user is already formed.

So, what tasks can be solved using neural networks? Now, please prepare yourselves. There will be a lot of sweet and tasty things. So, I asked the neural network, what can you do? How can you be useful to business? And, ah, a large good model gave me many options. So, I can work with data. This includes sales analysis, demand forecasting, key metric calculation, cross-channel analytics. I can create context, I can segment the customer base, I can even generate ideas. And I will also work with reviews and create some kind of chatbot for a database, for a knowledge base, and personnel training, and so on. Assortment, supplier analysis, order generation, ABC XYZ analysis. In operational activities, I will optimize your processes and compile reports, analyze personnel efficiency, and prepare documents, and I will also deal with your strategy. Well, what can I say about this? The not-so-unknown character from Ilf and Petrov, Ostap Suleyman Berta Maria Bender, would have been impressed by such a level of self-presentation. In reality, everything is a little sadder. Ah, the thing is this. The thing is that all these functions require the analysis of your internal information. Which presents some problems, because it is necessary to inform the model about some important facts. And in general, ah, I was engaged in the task of forecasting. Well, not everything is good there. I will tell you about my experience a little later.

So, information from me. Having worked with neural networks, I have come to some conclusions that I want to share with you. Well, first of all, neural networks are programs. They are built a little differently than our usual beloved 1C. However, in principle, they are just slightly different, but programs. These programs work only with numbers. If you need to work with categories, then these categories are represented by indices, i.e., ordinal numbers. If we work with text or some other context, then we must turn this context into some vector that we load into our database, which is very important. Neural networks implement fuzzy logic. In ordinary programming, we are used to true and false. This is crisp logic. That is, we either have yes or no. There is no third option. However, in neural networks, there is never an unambiguous yes or an absolute no. If a neural network gives some result, then this result has a probability. For example, when recognizing an image, it can say that it is 80% a cat and 20% a dog. At the same time, an image of some bear might be presented. This is quite normal for neural networks, and this must always be taken into account. This is both a plus and a minus. Neural networks require training. If you are training some local neural network, you will need to provide a large amount of information for it to properly understand your dependent networks. Normal amounts of information are from 1,000 and above, preferably 3-5,000 minimum. And what is very important, neural networks can themselves identify dependencies in data. In general, a neural network can be compared to a specialist who has worked for, say, ten or twenty years in this field. Why? Because they are capable of very quickly reviewing tens of thousands of options in the data and drawing conclusions from them. That is, they accumulate experience very quickly, incomparably faster than a person does. This is precisely their advantage.

Where should neural networks not be applied? Where explainability and transparency of decisions are required. Why is a neural network a black box? You put something in, you get something out. How did it happen? Well, the neural network does not always explain it to you, and it is not always possible to find out. Where there is little data or it is of low quality. Low quality is usually expressed in the fact that the data is noisy. That is, your sequence, your business parameter is influenced by some random factors that we cannot account for at all. Where an error is unacceptable. Well, for example, I absolutely cannot imagine an accountant who would say: "This check, this entry is 80% correct." What does 80% correct mean? Interaction with government agencies depends on this. There may be fines, there may be other very unpleasant things. Therefore, my dear, either this is an incorrect entry, or it is absolutely correct. A neural network cannot do that. Therefore, in regulated accounting, neural networks are not used at all. And when we use them in management accounting, we must always keep in mind that it is just advice. It is not an absolute prediction that must necessarily come true. Ah, neural networks should not be applied where this method is not better than conventional methods. And I will talk about this a little later. Where would I recommend applying them? Precisely where others give poor results. This is text or speech recognition. However, ah, here, too, one must apply such things with great caution for one simple reason. There was a case in one of the companies where conversations were recorded, transcribed, and then passed through a neural network. And the neural network sent a conclusion, a summary of the conversation, that programmer Maxim, a hypothetical Maxim, spoke very confidently and well. Programmer Tanya, also hypothetical, spoke uncertainly about what she was saying, spoke unconfidently, and it was definitely worth paying attention to the fact that something was wrong here. Well, the problem was this. Tanya is a very good programmer, perhaps not brilliant, but a very solid and good middle-class specialist who can develop a lot. However, she has a slow speech rate. She speaks unemotionally, at roughly the same level, and at a relatively slow pace. And Maxim knows that when you come to a meeting, you need to chatter quickly, radiate confidence, optimism, corporatism, and creativity. It was precisely these signs that the neural network reacted to and gave a characteristic of our specialists that did not correspond to reality at all. Well, the fact is that both Maxim and Tanya are specialists of approximately the same level.

Neural networks can be used in forecasting. Well, I've delved into this idea a bit and can say that here neural networks should only be used if all other methods do not yield good results. A simple period-to-period comparison sometimes gives a better result than any other method. If, well, this must be determined by metrics, i.e., we must take, say, September of the previous year, September of this year, measure, build a forecast, calculate metrics, and if they are in the zone of unsatisfactory results, then we can move on to other methods. However, there are, for example, methods that do not use neural networks, and they divide all your data into three categories: trend, seasonality, and noise. Trend is a long-term change in your parameter, a year or more. Seasonality is from month to month, from quarter to quarter. And noise, well, noise is what prevents you from seeing the true direction of your business. Where only a person with extensive experience can see dependencies. As I said earlier, neural networks have a property that in humans is called "exposure." That is, with one glance, it can pick out some dependencies that a person simply wouldn't see. And here they are truly good. And neural networks can be used as assistants in working with textual information. But there is one very serious pitfall here. It lies in the fact that when a neural network works with text, it engages in generalization. That is, when we talk about legal information, or about documents related to regulated accounting, or about any other regulatory matters, ah, such documents can be processed through a neural network, of course, but after that, you still need to look at the original source with your own eyes. The fact is that a neural network can miss incredibly important points. Well, you all understand how important some formulations are. And now imagine that it generalizes these formulations in some way. That would be quite unpleasant. Well, that's all from me. I await your questions. Thank you for the useful information, Vladimir. Yes, indeed, if you have questions, you can ask them now. We also remind you that if you have 1C tasks, need modifications, or support, specialists are ready to help. Implex company, an official 1C partner, has the status of a 1C:P center, received a quality certificate according to the international standard ISO, and has been managing projects since 2015.

So, let's see. So, I see that there are no questions as such. Mostly technical ones. Could you hear me, couldn't you hear me? So, I see. There is a question. Thank you. So, I might say it a little incorrectly. Vladimir, you see the question too, right? It's from Sergey. What LMs, in your opinion, are the most? Yes, yes, yes. Besides the banal and already overused chat GPT. Well, first of all, there is. Now I probably won't quickly find it at all, let's say, for 1C, here we need to clarify, for what purposes of 1C. If we want to build a chatbot, then any. If, well, if, well, we are talking specifically about business, not programming applications. So, look, there is such a resource. Now I will find it for you, because I saw it. Because I saw it literally yesterday. Ah, so, Ilino. Ah. While Vladimir is searching, maybe Alexey. >> No, I've already found it. >> Okay, we'll just ask one clarifying question. chat GPT5 or psyc. Did you mean which neural network is preferable? Perhaps answer in the window so that the question is asked more correctly. Thank you. So, there is such a resource called LM Arena AI. And there is a Leaderboard page. And here you can see the networks that are currently, in fact, let's say, the best. Besides chat GPT and Gemini, and Claude. Here is 4.5 GPT. And what else do we have here? Well, it's already tenth, eleventh place. Here is deep at only eleventh place. Ah, refer to this resource and, in fact, choose the model that suits you. Let's say, there are no bad models now. You can use Grok, you can use chat GPT, Deep. As for Alice, I'm not sure, honestly. Not that she's bad, my opinion cannot be leading here, but for some reason I don't see her in the rankings. Either I just don't, or she's just called something else here. That's why I can't understand. So, in principle, you can use any.

>> So, >> Yes, let me read the next question. Alexey Glushkov asked chat GPT5 or psyc and a clarifying question, yes, to our question. Yes, from the perspective of a neural network specialist, which model is more preferable for the types of use cases that you, Vladimir, are proposing? What should be guided by when choosing a neural network? >> Guided primarily by what equipment you have. Can it handle it? Do you want to use it locally, or do you want to use it globally? If globally, then you need to allocate a budget. You need to maintain this, in fact, create an account, maintain this account, and use it. If locally, then the question is what equipment you have, how powerful a network you can install. That is, how many billions of parameters it will have. The more parameters, the more functional the network. And, but, it may happen that a network with a small number of parameters is quite capable of solving your problem. You are asking a question that, well, in principle, is about the same. What hardware should I choose for ERP? Well, this is a very big question. There is too much variation here. A more in-depth analysis is needed, and to answer it like this: just take this box, unpack it, and everything will be fine. Unfortunately, I cannot. Well, it would simply be irresponsible. >> Thank you. So, the next question. How to use neural networks in daily management accounting in 1C:P? The question is what tasks you want to solve, what exactly you need, what exactly you require for work. Ah, for example, I have two examples that I have worked with. This is forecasting business parameters. Once a day or, in fact, once a week or every 3 days, you contact a neural network that is located within your local network and get a forecast, say, for the next 3 days, in fact, for the next month, about how your revenue or profit, or your expenses, or any other business parameter for which you have history will change. Based on this, you start to orient yourself on what will happen in the near future. From my experience working with such, well, with such a task, I can tell you that neural networks on horizontal dependencies, i.e., when we have a kind of flat line, it will jump a little higher, a little lower. So, it's probably not worth relying on this too much. But when, but if you have some spikes in magnitude, then it will catch the beginning of this spike easily. Both networks catch the beginning of a trend excellently. One is NBITS, the second is a combined LSTM GRU network. But it will catch the beginning of the trend, but the peak, most likely, it will not. And most likely, it will underestimate the indicator, i.e., it will be a pessimistic assessment. Most likely, your peak spike will be higher than the neural network predicts. Uh-huh. Thank you for the answer.

So, the next question. Can neural networks analyze linear statistical graphs in Excel? I may, I hope, have read it correctly. Please look, Vladimir. >> analyze linear statistical graphs. >> And why linear ones? Linear ones are not needed for linearity. Linearity is easier to process with other methods. >> So, the next. >> They are for non-linear tasks. >> Uh-huh. Thank you. >> You can, but it's pointless. That's how I would answer. Okay, thank you. So, the penultimate question. So, you propose to deploy a neural network in a local cluster and give it full access to the 1C database, and then ask it questions and tasks. Is that correct? >> Well, as an option. Well, as an option. As an option. Well, in fact, there is full access. What does that mean? It won't have a robot sitting there, clicking keys and going where it shouldn't. Nothing like that. It will be a call to some code on the 1C side. And here we can very carefully regulate access to our data and prevent all sorts of unpleasant things. That is, we still control access. Hmm, I wouldn't imagine it as a robot that clicks keys and gets full access, and then starts poking around, and then starts asking stupid questions. It doesn't look quite like that. >> Well, and the last, quite pleasant question. Do you plan to have more webinars? On what topics, Vladimir? >> Well, I plan to. Does Implex plan to or not? I would gladly, >> with pleasure. >> For example, to figure out how to integrate. The thing is, for example, speech recognition is not only in document management, it's in a separate database. And the question is, if we have some configuration, then we can upload these changes as a subsystem to any other configuration. And, for example, I would consider such a question. I plan to do this anyway. Well, and then we'll see what comes of it. >> Vladimir, I suggest we put up the last slide of our wonderful presentation so that those who wish can subscribe to our Telegram channel, because that's where we first start posting announcements of new webinars. So, please point your phone at the QR code, subscribe, and you can also comment and ask questions there. So, write to us, we are in touch.

So, and there is one last question. Are such seminars planned to consider working with neural networks for 1C programmers? Well, how can I say, I don't know, I haven't thought in that direction yet. I haven't thought in that direction. In principle, for 1C programmers, well, I tried this thing called "code generation" here. I can show what it is and how to work with it. In general, the thing is that I wrote one of the neural networks, precisely the one I mentioned, the LSTM GRU combined network, using code generation in about an hour. The script was 250 lines long. It's Python. The script worked right out of the box, but I had to tinker with it a bit. However, I can say that I didn't write or edit a single line of code. That's an interesting result. Yes, I can show programmers how it's done. And it will greatly expand their capabilities. They will, of course, write large projects in Python. Well, some global ones, but small tasks for business goals, yes, easily. In any case, today, not only our listeners benefited, but we also gained topics for ourselves that can be used in new webinars for conducting, yes, for sharing our experience. So. Thank you all very much for your questions. Once again, you can subscribe to our Telegram channel. We will announce our future events there. We suggest saying goodbye for now. We remind you that the recording will definitely be sent to everyone who registered and provided their email address. Thank you all for your attention, for being present. Goodbye. Thank you. Yes, thank you for thanking us too. We are very happy to be helpful. >> Thank you very much for coming and asking interesting questions. It was very useful for me too. Thank you. Goodbye.